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_Flame(Version:Progress)的原代码
Oct 09 PHP
PHP新手上路(十一)
Oct 09 PHP
深入php多态的实现详解
Jun 09 PHP
php数组去重实例及分析
Nov 26 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php链式操作的实现方式分析
Aug 12 PHP
解决Laravel blade模板转义html标签的问题
Sep 03 PHP
php生成HTML文件的类方法
Oct 11 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
php支付宝APP支付功能
2020/07/29 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
深入理解Javascript中的this关键字
2015/03/27 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
python中对数据进行各种排序的方法
2019/07/02 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
python中有帮助函数吗
2020/06/19 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
计算机专业应届毕业生自荐信
2013/09/26 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
一般纳税人申请报告
2015/05/18 职场文书
英语教学课后反思
2016/02/15 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
浅谈JavaScript作用域
2021/12/06 Javascript
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android