请选择 进入手机版 | 继续访问电脑版

站长分享圈

 找回密码
 注册

QQ登录

只需一步,快速开始

选择adminn.cn的理由仿3987统一软件《软件下载》方维一元夺宝源码V2.0.2800阿里云首购幸运优惠码
92kaifa影视大全帝国云解析版完美破解92kaifa 新版《核弹头new》版仿《绿茶软件园》下载站源码92kaifa 《美图录》图片源码
仿《东方女性网》程序源码92kaifa仿《全书网》在线小说源码程序 92kaifa《游戏吧》游戏下载站 
查看: 2962|回复: 0

[其他常见问题] PHP解决[function.file-get-contents]: failed to open stream: HTTP request failed!

[复制链接]
发表于 2014-1-7 13:46:47 | 显示全部楼层 |阅读模式
当使用php5自带的file_get_contents方法来获取远程文件的时候,有时候会出现file_get_contents(): failed to open stream: HTTP request failed!这个警告信息。
google或者baidu一下,好多这样的问题,解决的方法都是修改php.ini,把allow_url_fopen给启用,改成 allow_url_fopen = On
这样做可以解决某些人的问题,有人说在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可。)重启服务器。
但是有些还是会有这个警告信息,想用完美的解决还差一步,还得设置php.ini里面的user_agent,php默认的user_agent是PHP,我们把它改成Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)来模拟浏览器就可以了
user_agent=”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”
=============================================================================================
方法二
file_get_contents 和 curl 这俩强悍的函数,在远程抓取时候相当有用处.不过一些网站会根据来访ip是否携带user_agent来判断是正常的浏览器客户端还是机器.所以,我们的任务就是给他们伪造user_agent.
file_get_contents伪造user_agent 方法如下:
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)');
curl伪造user_agent的方法:
curl_setopt($c, CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)');
您需要登录后才可以回帖 登录 | 注册

本版积分规则

!qqOnline!

Archiver|手机版|版权问题|免责申明|文章删除|站长分享圈 ( 浙ICP备12034708号 )

GMT+8, 2017-7-25 22:51 , Processed in 0.129379 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表