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 radio 单选框获取与保持值的实现代码
May 15 PHP
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
May 04 PHP
php Ubb代码编辑器函数代码
Jul 05 PHP
php将gd生成的图片缓存到memcache的小例子
Jun 05 PHP
PHP删除指定目录中的所有目录及文件的方法
Feb 26 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
laravel ORM关联关系中的 with和whereHas用法
Oct 16 PHP
php实现的简单多进程服务器类完整示例
Feb 01 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
Apr 06 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 网上商城促销设计实例代码
2012/02/17 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
php微信开发之图片回复功能
2018/06/14 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
法律专业学生的自我评价
2014/02/07 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
求职信结尾怎么写
2014/05/26 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python