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日历[测试通过]
Mar 27 PHP
PHP HTML代码串 截取实现代码
Jun 29 PHP
jQuery 源码分析笔记
May 25 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
Web程序工作原理详解
Dec 25 PHP
yii2中使用Active Record模式的方法
Jan 09 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
Laravel如何实现自动加载类
Oct 14 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源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
深入理解node.js http模块
2018/01/24 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
Python hashlib模块用法实例分析
2018/06/12 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
python numpy数组中的复制知识解析
2020/02/03 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
园林施工员岗位职责
2013/12/11 职场文书
调查研究项目计划书
2014/04/29 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
小学生常见病防治方案
2014/06/06 职场文书
消防安全标语
2014/06/07 职场文书
承诺书范本
2015/01/21 职场文书
资产移交协议书
2016/03/24 职场文书
用Python实现Newton插值法
2021/04/17 Python
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技