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 相关文章推荐
php5新改动之短标记启用方法
Sep 11 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
windows7下php开发环境搭建图文教程
Jan 06 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
php类的扩展和继承用法实例
Jun 20 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
Thinkphp页面跳转设置跳转等待时间的操作
Oct 16 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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+MySql编写聊天室
2006/10/09 PHP
PHP面向对象编程快速入门
2006/12/14 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
php blowfish加密解密算法
2016/07/02 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
jQuery代码优化之基本事件
2011/11/01 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
2019/05/14 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
Python中的zip函数使用示例
2015/01/29 Python
简单介绍Python中的JSON模块
2015/04/08 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
python机器学习之KNN分类算法
2018/08/29 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
函授本科自我鉴定
2013/11/03 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
我的收音机情缘
2022/04/05 无线电