failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

一、总结

一句话总结:这里出现的问题是我在博客园删除了一篇文章,时间太短,所以博客园还没有更新,所以当我用删除的那篇文章的链接访问博客园的时候,就出现了这个错误提示:这是是真的是因为文件已经被删除了。

file_get_contents(https://www.cnblogs.com/Renyi-Fan/p/9620120.html): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

1、php如何伪造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;)');

ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)');
$html=file_get_contents($url);

2、如何解决failed-to-open-stream:-HTTP-request-failed?

有人说在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可。)重启服务器。

二、完美解决failed-to-open-stream:-HTTP-request-failed

当使用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;)');

参考:完美解决failed-to-open-stream:-HTTP-request-failed!_翁雪杰(WAP-6131)_新浪博客
http://blog.sina.com.cn/s/blog_700e11ff0101228l.html

 

最新文章

  1. Object.observe将不加入到ES7
  2. html2canvas根据DOM元素样式实现网页截图
  3. jQuery----函数和选择器
  4. 密码太多记不住?SSO帮你轻松访问VDI及外部资源
  5. Partial RenderPartial Action RenderAction 区别和用法
  6. 基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏
  7. Memcached总结二:Memcached环境安装设置以及连接memcache服务器
  8. JAVA中List与Array之间互换
  9. 让Java的反射跑快点
  10. Unity Interface Serialization-Expose Interface field In Inspector
  11. Xhprof graphviz Warning: proc_open() [function.proc-open]: CreateProcess failed, error code 解决方法
  12. Neural Networks and Deep Learning(week4)Deep Neural Network - Application(图像分类)
  13. 网络编程——socket编程
  14. 异步多线程 Task理解
  15. LeetCode: Jump Game Total 解题报告
  16. C# 中对COOKIES的操作
  17. linQ to sql 查询生成的sql语句
  18. ExcelVBA实现一键生成word文字报告及批量操作[原创]
  19. 最简单的回射客户/服务器程序、time_wait 状态
  20. 单链表是否有环的问题解决与讨论(java实现)

热门文章

  1. CF1029E Tree with Small Distances (贪心)
  2. C语言声明语句
  3. Android基础笔记(十三)- 内容提供者原理和简单使用
  4. swift学习笔记(五)构造过程
  5. Android设置头像,手机拍照或从本地相冊选取图片作为头像
  6. MapReduce 的类型与格式【编写最简单的mapreduce】(1)
  7. HDU 4288-Coder(模拟)
  8. Java - 多线程Callable、Executors、Future
  9. USACO Section 1.3 : Calf Flac (calfflac)
  10. nj09---util、inherits、inspect、events、error