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 fsockopen写的HTTP下载的类
Feb 22 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
curl和libcurl的区别简介
Jul 01 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
PHP 微信扫码支付源代码(推荐)
Nov 03 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
PHP钩子实现方法解析
May 21 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
解决PhpStorm64不能启动的问题
Jun 20 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
Smarty Foreach 使用说明
2010/03/23 PHP
php构造函数的继承方法
2015/02/09 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
javascript获取dom的下一个节点方法
2014/09/05 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Python List cmp()知识点总结
2019/02/18 Python
Python常用的json标准库
2019/02/19 Python
python名片管理系统开发
2020/06/18 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
C语言编程练习
2012/04/02 面试题
地质工程专业毕业生求职信
2014/08/08 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
工程部经理岗位职责
2015/02/02 职场文书
监察建议书
2015/02/04 职场文书
2015年父亲节寄语
2015/03/23 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书