file_get_contents failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/meimeieee/article/details/82147214

使用file_get_contents()请求链接的时候报错: failed to open stream: HTTP request failed!

原因1:url参数值没有url编码

用 urlencode($val) 来编码参数的值,注意是参数值


原因2:url中有空格

$url = preg_replace("/ /", "%20", $url); //用正则把空格替换成%20


原因3:配置问题(修改php.ini,并重启服务器)

把allow_url_fopen给启用,

改成 allow_url_fopen = On

allow_url_fopen =on(表示可以通过url打开远程文件)

user_agent=”PHP”(表示通过哪种脚本访问网络,默认前面有个 ” ; ” 去掉即可。)重启服务器。

可能还警告信息,想用完美的解决还差一步,还得设置php.ini里面的user_agent,默认的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)"

猜你喜欢

转载自blog.csdn.net/meimeieee/article/details/82147214