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连接Oracle for NT 远程数据库
Oct 09 PHP
用php解析html的实现代码
Aug 08 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
php读取csc文件并输出
May 21 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
laravel框架邮箱认证实现方法详解
Nov 22 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控制网页过期时间的代码
2008/09/28 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
深入解析Python中的lambda表达式的用法
2015/08/28 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
Python获取时间戳代码实例
2019/09/24 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
抽奖活动主持词
2014/03/31 职场文书
五分钟演讲稿
2014/04/30 职场文书
个人自我剖析材料
2014/09/30 职场文书
小学生差生评语
2014/12/29 职场文书
报案材料怎么写
2015/05/25 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
python执行js代码的方法
2021/05/13 Python