file_get_contents 速度慢的解决办法

经过修改后有显示加速,代码如下:

ini_set('default_socket_timeout', 1); //关键点11111111111111;

$opts = array("http" => array(
"method" => "GET",
"timeout" => 60,
"Host" => "www.****.com",
"Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Encoding" => "gzip, deflate, sdch",
"Accept-Language" => "zh-CN,zh;q=0.8",
"User-Agent" => "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36",
"Upgrade-Insecure-Requests" => "1",
"Connection:" => "close" //关键点22222222222;
 )); 
$context = stream_context_create($opts);
$html = @file_get_contents("http://www.****.com/",false,$context);

关键是添加了这两句代码:

ini_set('default_socket_timeout', 1);

"Connection:" => "close"

参考资料:

https://segmentfault.com/q/1010000003913255

http://bbs.csdn.net/topics/391833478?page=1

虽然速度是有显示加快了,但是偶尔还是会出现抓取不到内容的情况。

以上两句代码配合 curl_init()函数会是怎么样呢?你们去试试吧。

posted @ 2016-11-21 11:47  stma  阅读(5246)  评论(0)    收藏  举报