1

これが私の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

問題は何ですか?

4

0 に答える 0