php错误提示failed to open stream: HTTP request failed!的完美解决方法


Posted in PHP onJune 06, 2011

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)”

在工作中遇到这个问题,后完美解决,故分享给大家。
我批量抓取chemblink的结构式发现循环后有部分图片无法显示,而远程文件是存在的。
抓取远程文件的时候出现类似Warning: readfile(https://3water.com/logo.gif) [function.readfile]: failed to open stream: HTTP request failed! 这样的警告信息,我使用的是

ob_start(); 
readfile("https://3water.com/logo.gif"); 
$img = ob_get_contents(); 
ob_end_clean();

这样在运行中会时不时的出现上述错误,我也换过file_get_contents等其他函数都没用用,在网上查阅后发现用CURL方法抓取不会出错

现在比较流行使用curl

<?php 
$url = "http://s.3water.com"; 
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10); 
$dxycontent = curl_exec($ch); 
echo $dxycontent; 
?>
PHP 相关文章推荐
在php MYSQL中插入当前时间
Apr 06 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
PHP数组相关函数汇总
Mar 24 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
php字符串的替换,分割和连接方法
May 23 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
Smarty3配置及入门语法
Feb 22 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 #PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 #PHP
php写的简易聊天室代码
Jun 04 #PHP
php结合表单实现一些简单功能的例子
Jun 04 #PHP
PHP中对用户身份认证实现两种方法
Jun 04 #PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 #PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 #PHP
You might like
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
php生成扇形比例图实例
2013/11/06 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
Python 元组(Tuple)操作详解
2014/03/11 Python
python实现在pickling的时候压缩的方法
2014/09/25 Python
python解释器spython使用及原理解析
2019/08/24 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
小结Python的反射机制
2020/09/28 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
Python Selenium库的基本使用教程
2021/01/04 Python
联强国际笔试题面试题
2013/07/10 面试题
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
优秀老师事迹材料
2014/02/05 职场文书
1亿有多大教学反思
2014/05/01 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
法律进社区活动总结
2015/05/07 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android