0

以下の関数は、実際にページを直接レンダリングする結果とは異なる結果を返します。

問題は何でしょうか?

function file_get_contents_curl($url) {
    $ch = curl_init();
    $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1)Gecko/20061204 Firefox/2.0.0.1";
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    $data = curl_exec($ch);
    curl_close($ch);

return $data;
}
4

1 に答える 1

1

私の推測では、あるブラウザでアクセスしているが、設定$useragentを別のブラウザに設定しているということです。ユーザーエージェントによっては、外部サイトが異なるデータを返す場合があります

于 2012-05-08T23:54:06.507 に答える