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 相关文章推荐
一个程序下载的管理程序(一)
Oct 09 PHP
分享PHP入门的学习方法
Jan 02 PHP
PHP中获取文件扩展名的N种方法小结
Feb 27 PHP
php在文件指定行中写入代码的方法
May 23 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
PHP多例模式介绍
Jun 24 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
PHP输出日历表代码实例
Mar 27 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
php实现算术验证码功能
Dec 05 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
JS与C#编码解码
2013/12/03 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
a标签调用js的方法总结
2019/09/05 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
简单介绍Python中的JSON模块
2015/04/08 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
python selenium firefox使用详解
2019/02/26 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
应用数学自荐书范文
2013/11/24 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
中学教师请假制度
2014/02/03 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
小学远程教育工作总结
2015/08/13 职场文书
行为习惯主题班会
2015/08/14 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android