これが私のcUrlコードです。
function curl_cookieset() {
$fp = fopen("cookie.txt", "w");
fclose($fp);
/*visit the homepage to set the cookie properly */
$ch = curl_init ("http://www.autoscout24.de/ListGN.aspx?vis=1&state=A&atype=C&cy=D&page=1&results=20&ustate=N,U&sort=price&rfde=True&custtype=P&zipc=D");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101");
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec ($ch);
}
function curl_download($Url ){
if (!function_exists('curl_init')){
die('Sorry cURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
と、こんな使い方をしていますが、
curl_cookieset();
while(true) {
//some other process
$result = curl_download($url);
//some other process
}
これはローカルホストでは期待通りに動作しますが、外部サーバーで実行しようとすると、Cookie が設定されず、同じ結果が得られません。
注: cookie.txt を作成します
cookie.txt chmod = 666
問題は何ですか?