博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次file_get_contents报failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request的错...
阅读量:4709 次
发布时间:2019-06-10

本文共 915 字,大约阅读时间需要 3 分钟。

不能用此函数获取网页内容,会报failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request的错,但是手动执行该URL的时候就可以。

网上查了很多解决办法,都不可以不行。

包括修改user_agent=”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” ,

改换curl

1  public function geturldata($url) { 2         $ch = curl_init(); 3         curl_setopt ($ch, CURLOPT_URL, $url); 4         curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 5         curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10); 6         $content = curl_exec($ch);7         return $content;8 }

或者是增加参数使函数不报错等方法。

1 $context = stream_context_create(array(2   'http' => array(3      'ignore_errors'=>true,4      'method'=>'GET'5      // for more options check http://www.php.net/manual/en/context.http.php6    )7 ));8 $response = json_decode(file_get_contents($url, false, $context));

最后经过观察参数发现,我的URL其中一个参数中间是有空格的。

导致URL断掉了,所以不能执行。

所以我把可能会有空格的参数都加上了urlencode就可以了。

转载于:https://www.cnblogs.com/lotus-white/p/9110513.html

你可能感兴趣的文章
电子书下载:Professional Web Design: Techniques and Templates, 4th Edition
查看>>
10要点解决IE6兼容性问题
查看>>
Seven Python Tools All Data Scientists Should Know How to Use
查看>>
cocos2d-x学习之路(二)——分析AppDelegate和HelloWorldScene文件
查看>>
Asp.net 对于服务器控件添加Client端方法
查看>>
在Salesforce中创建Approval Process
查看>>
NFS服务搭建与配置
查看>>
python计算文件md5值
查看>>
android 4.1 Emulator Skins
查看>>
Web站点防注入注意事项(转)
查看>>
第0次作业
查看>>
广播接收器——接收系统广播
查看>>
亿能测试资讯_2013-8-11
查看>>
北京地铁月度消费总金额计算(Python版)
查看>>
nginx+tomcat配置https
查看>>
[hadoop]备份
查看>>
C#中的委托和事件(续)
查看>>
python--MySql
查看>>
机器学习 - pycharm, pyspark, spark集成篇
查看>>
mysql explain 中key_len的计算
查看>>