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 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
分享一个php 的异常处理程序
Jun 22 PHP
php截取中文字符串函数实例
Feb 23 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
PHP文件上传类实例详解
Apr 08 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
php实现字符串翻转的方法
2015/03/27 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
python实现控制台打印的方法
2019/01/12 Python
ipython和python区别详解
2019/06/26 Python
Python的log日志功能及设置方法
2019/07/11 Python
Python有参函数使用代码实例
2020/01/06 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
python3代码中实现加法重载的实例
2020/12/03 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
迅雷Cued工作心得体会
2014/01/27 职场文书
《钱学森》听课反思
2014/03/01 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书