Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
CURL: Form abschicken funktioniert nicht. [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
CURL: Form abschicken funktioniert nicht.


 
TriphunEM
01-02-2009, 15:00 
 
Hallo,

ich möchte einen Rapidshare-Link (z.B. http://rapidshare.com/files/143896908/windows-kb890830-x64-v2.2.exe)
über cUrl öffnen! Das geht soweit auch ganz gut.

Ich ersetzte und komplettiere alle Links in dem Quellcode auch das "action" eines forms mit der url zu meinem curl-skript so dass die Seite immer wieder über mein Script geladen wird.
Das klappt auch soweit ganz gut.

Allerdings kann ich kein Post richtig absetzen, wenn ich auf den Button "Free user" klicke. Also ein Post wird schon gesendet, allerdings lande ich wieder auf der gleichen seite, statt auf der downloadseite mit dem countdown!

Ich hab im Browser mit "live headers" mal verglichen, wo die die unterschiede im request sind! Der einzige Unterschied, an dem es vielleicht liegen kann ist, dass ich im header an Rapidshare den Host meiner URL schicke, und es vielleicht deshalb nicht geht!

Kann ich den Host mit Curl manipulieren oder ist der immer fest?

Oder liegt es an was anderem???

Danke für antwort!

Hier mal noch mein Quellcodeausschnitt aus meine klasse:



$this->objCUrl = curl_init();
curl_setopt($this->objCUrl, CURLOPT_URL, $this->strLink);
curl_setopt($this->objCUrl, CURLOPT_REFERER, $this->strLink);
curl_setopt($this->objCUrl, CURLOPT_HEADER, true);
curl_setopt($this->objCUrl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->objCUrl, CURLOPT_COOKIESESSION, true);
curl_setopt($this->objCUrl, CURLOPT_COOKIEFILE, $this->config_get('WEBROOT').'open.txt');
curl_setopt($this->objCUrl, CURLOPT_COOKIEJAR, $this->config_get('WEBROOT').'open.txt');
curl_setopt($this->objCUrl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($this->objCUrl, CURLOPT_TIMEOUT, $this->intTimeout);
// ...POST oder FILES-Übergaben aufnehmen
if ($this->strResponseMethode == 'POST') {
$arrPostFields = array();
foreach ($_POST as $strKey => $strValue) {
//$strValue = urlencode($strValue);
$arrPostFields[$strKey] = $strValue;
}
if (!empty($_FILES)) {
foreach ($_FILES as $strKey => $strValue) {
if ((trim($strValue['name']) != "") && (trim($strValue['tmp_name']) != "")) {
$strOrgName = $strValue['name'];
$strTmpName = realpath($strValue['tmp_name']);
if (rename($strTmpName,(dirname($strTmpName)."/".$strOrgName))) {
$arrPostFields[$strKey] = "@".dirname($strTmpName)."/".$strOrgName;
$arrRemoveUploads[] = dirname($strTmpName)."/".$strOrgName;
}
}
}
}
curl_setopt($this->objCUrl, CURLOPT_POST, 1);
curl_setopt($this->objCUrl, CURLOPT_POSTFIELDS, $arrPostFields);
}

// ...Proxy vorhanden? Wenn ja über diesen öffnen
if ($this->strProxy) {
curl_setopt($this->objCUrl, CURLOPT_PROXY, $this->strProxy);
}
// ...Seiteninhalt jetzt holen
$strPageContent = curl_exec($this->objCUrl);
// ...Fehler aufgetreten?
if (curl_error($this->objCUrl)) {
$this->open_addError(curl_error($this->objCUrl));
return false;
}
// ...Fertig!
$this->arrCUrlInfo = curl_getinfo($this->objCUrl);
curl_close($this->objCUrl);

 
wahsaga
01-02-2009, 15:30 
 
Der Anbieter gibt sich mittels CAPTCHAs hinreichend Muehe, erkennen zu lassen, dass die automatisierte Nutzung des Angebotes durch Scripte, Bots, etc. nicht erwuenscht ist.
Falls dir das als Indiz nicht reicht, kannst du es auch noch mal in den AGB (http://rapidshare.com/agb.html) nachlesen: "Personen, die Programme schreiben mit dem Ziel, gegen diese Nutzungsbedingungen zu verstossen, werden strafrechtlich verfolgt und für den entstandenen Schaden bzw. Verlust haftbar gemacht."

Ich halte dein Vorhaben also nicht fuer unterstuetzenswert, in dem man dir hier bei deinem "Problem" auch noch weiterhelfen wuerde.

 
TriphunEM
01-02-2009, 16:42 
 
völlig legal was ich vorhabe. Ich umgehe keinerlei captchas usw. ich brauch das lediglich für ein linkdecryption um linkstealing zu verhindern.

 
wahsaga
01-02-2009, 16:50 
 
Original geschrieben von TriphunEM
ich brauch das lediglich für ein linkdecryption um linkstealing zu verhindern.
Wenn du das jetzt noch mal auf Deutsch und etwas ausfuehrlicher beschreiben koenntest - so dass man auch erkennen kann, worin die Notwendigkeit bestehen soll, das Rapidshare-Formular serverseitig von deinem Script aus abzuschicken ....?

 
TriphunEM
01-02-2009, 17:00 
 
Es geht einfach darum den direkten Rapidshare-Link zu verschleiern, so dass andere den nicht einfach kopieren und weitergeben können.
Für sowas gibt es auch zahlreiche Dienst die sich Linkprotection-Dienste nennen. Allerdings sind fast alle nicht wirklich so sicher, da sie den Link am ende einfach in einem Frame ausgeben.

Ich will also in dem Sinne nix manipulieren, sondern einfach dem Uploader mehr sicherheit zur wahrung des linkes geben!

Reicht das um jetzt hilfe für mein Problem zu bekommen?

 
wahsaga
01-02-2009, 17:04 
 
Original geschrieben von TriphunEM
Es geht einfach darum den direkten Rapidshare-Link zu verschleiern, so dass andere den nicht einfach kopieren und weitergeben können.
Und warum nicht?

Ich will also in dem Sinne nix manipulieren, sondern einfach dem Uploader mehr sicherheit zur wahrung des linkes geben!
Bietet Rapidshare nicht auch die Moeglichkeit an, Uploads mit einem Passwort zu versehen?

Und wenn die Oeffentlichkeit, die die Nutzung eines oeffentlichen Service mit sich bringt, nicht gewuenscht ist - dann sollte man keinen oeffentlichen Service nutzen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:20 Uhr.