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:
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:
PHP-Code:
$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);
Kommentar