ホームページ >バックエンド開発 >PHPチュートリアル >データを取得するcurlのリターンコードは200ですが、内容がありません

データを取得するcurlのリターンコードは200ですが、内容がありません

WBOY
WBOYオリジナル
2016-06-23 13:57:093636ブラウズ

set_time_limit(0);// GET测试淘宝详情页抓取$url = "http://item.taobao.com/item.htm?id=37530539791";$url = "http://item.taobao.com/item.htm?id=14861616067";//curl 伪造useragent$useragent = array(    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)',    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)',    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',    'Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1',    'Opera/9.27 (Windows NT 5.2; U; zh-cn)',    'Opera/8.0 (Macintosh; PPC Mac OS X; U; en)',    'Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13 ',    'Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13');header("Content-type: text/html; charset=utf-8");$cookiefile = realpath("./")."/Application/Runtime/Temp/cookie.txt";//创建一个用于存放cookie信息的临时文件,if (!file_exists($cookiefile)){    $file = @file_put_contents($cookiefile, "");}$ch = curl_init();//设置选项,包括URLcurl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_NOBODY,0);curl_setopt($ch, CURLOPT_MAXREDIRS, 300);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //获取数据返回流形式curl_setopt($ch, CURLOPT_AUTOREFERER, true); //重定向时,自动设置header中的Referer:信息curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //启用时会将服务器服务器返回的"Location: "放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量// 设置iP和useragent/*curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)');curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:28.58.88.'.$r, 'CLIENT-IP:225.28.58.'.$r));  //构造IP curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");   //构造来路 curl_setopt($ch, CURLOPT_USERAGENT, array_rand($useragent));*/// 设置代理/*curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);curl_setopt($ch, CURLOPT_PROXY, '218.213.168.131:80');*///curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');// 对于cookie保存curl_setopt($ch, CURLOPT_COOKIESESSION, true);curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);//关闭连接时,将服务器端返回的cookie保存在以下文件中curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);//执行并获取HTML文档内容for ($i=0;$i<=5;$i++){    curl_setopt($ch, CURLOPT_USERAGENT, $useragent[$i]);    $output = curl_exec($ch);    if (!empty($output)){        break;    }}//释放curl句柄$info = curl_getinfo($ch);curl_close($ch);echo "<pre class="brush:php;toolbar:false">";print_r($info);die($output);

打出的カール情報如下:
Array
(
[url] => http://item.taobao.com/item.htm?id=14861616067
[content_type] => text/html [ http_code] => 200
[header_size] => 197 [request_size] => 156
[ssl_verify_result] 0
[redirect_count] => 0
[total_time] ] => 0.562
[namelookup_time] => 0
[pretransfer_time] => 0.015
[size_upload] 0
[size_download] => 20
[speed_download] = > 35
[アップロード速度] => 0
[ダウンロード_コンテンツ長] => 0
[転送開始時間] =>
[redirect_time] => 0
[redirect_url] => ;
[プライマリ_ip] => 58.63.255.240
[証明書情報] => 配列
(
)
[プライマリ_ポート] => ; 80
[ローカル_ip] => 192.168.1.102
[ローカル_ポート] =>
)

ただし、最初の URL を使用する場合は、結果が空になるまで返される可能性があります。大神指教下、他有何か么设置没对吗?成犬幼犬犬粮泰迪贵宾比熊金毛萨摩耶博美 批散散装-淘宝网6e916e0f7d1e588d4f442bf645aedb2f
2d8de28577689331ac28d8b31934f7d3T浦力顿500g 成犬幼犬狗粮泰迪贵宾比熊金毛萨摩耶博美 批出版散装39528cedfa926ea0c01e69ef5b2ea9b0
证明访问は问問題なし

$url = "http://item.taobao.com/item.htm?id=14861616067";echo curl_get($url);


谢谢、可用的,我的不可以故来源模拟错了吗?

你可在我的代码中逐一注释掉来判断少了何么

估计は 少了 CURLOPT_REFERER

良いですね、谢谢。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。