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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
php入门学习知识点三 PHP上传
Jul 14 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
laravel学习教程之存取器
Jul 30 PHP
PHP中trait使用方法详细介绍
May 21 PHP
php 使用 __call实现重载功能示例
Nov 18 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
jQuery的三种$()
2009/12/30 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
javascript控制台详解
2015/06/25 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python中的字典详细介绍
2014/09/18 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
机关门卫岗位职责
2013/12/30 职场文书
关于责任的演讲稿
2014/05/20 职场文书
英文邀请函
2015/02/02 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
php去除deprecated的实例方法
2021/11/17 PHP