3

cURLを使用してWebページのコンテンツを取得しようとしていますが、cURLでCookieを受け入れるのに問題があります。たとえば、Target.comでcURLを実行すると、Cookieを有効にする必要があると表示されます。

これが私のコードです:

$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;

他に何が欠けていますか?ちなみに、cookie1.txtファイルは077許可です。

4

1 に答える 1

4

077 は不正な権限設定です。これは、所有者 (おそらく apache) がアクセスできないことを意味します。ファイルのみなので、644 (所有者が読み取り/書き込み可能) に設定してみてください。

于 2012-04-13T14:36:18.223 に答える