2012-04-13 8 views
3

Ich habe versucht, den Inhalt einer Webseite mit cURL zu bekommen, habe aber Schwierigkeiten, cURL zur Annahme von Cookies zu bekommen. Zum Beispiel, auf Target.com, wenn ich es cURL, sagt es immer noch, dass ich Cookies aktivieren muss.Akzeptieren Sie Cookies mit cURL?

Hier ist mein Code:

$url = "http://www.target.com/p/Acer-Gateway-15-6-Laptop-PC-NV57H77u-with-320GB-Hard-Drive-4GB-Memory-Black/-/A-13996190#?lnk=sc_qi_detailbutton"; 
$ch = curl_init(); // initialize curl handle 
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to 
curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // times out after 4s 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20100101 Firefox/11.0"); 
$cookie_file = "cookie1.txt"; 
curl_setopt($ch, CURLOPT_COOKIESESSION, true); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); 
$result = curl_exec($ch); // run the whole process 
curl_close($ch); 
echo $result; 

Was bin ich dabei? Die cookie1.txt Datei ist übrigens 077 Erlaubnis.

+4

077 ist eine ungültige Berechtigung, dies bedeutet, dass der Besitzer (wahrscheinlich Apache) keinen Zugriff hat. Versuchen Sie es auf 644 zu setzen, da es nur eine Datei ist. –

+0

@MikePurcell Warum postest du es als Kommentar? Veröffentlichen Sie es als Antwort. –

+1

@Truth: War mir nicht sicher, ob es ein Typ war oder nicht. –

Antwort

4

077 ist eine ungültige Berechtigungseinstellung, dies bedeutet, dass der Besitzer (wahrscheinlich Apache) keinen Zugriff hat. Versuchen Sie, es auf 644 (Besitzer hat lesen/schreiben) zu setzen, da es nur eine Datei ist.

+2

Hallo, hast du dein Problem herausgefunden? –