今天在使用file_get_contents函数获取远程机器的一个功能时,提示HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error错误了,后来发现只要urlencode就可以解决了.
在做一个接口的时候,使用file_get_contents出现 HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error,查了一下手册.
Note:如果要打开有特殊字符的 URL,比如说有空格,就需要使用 urlencode() 进行 URL 编码.
切记,对中文一定要进行先编码后使用,例子代码如下:
$body = file_get_contents('http://www.phprm.com');
这样是没有问题了,如果我们路径中带有中文或空格就不行了,代码如下:
$body = file_get_contents('http://www.phprm.com/中国地址.html');
这样就会提示HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error,解决办法,代码如下:
$body = file_get_contents(urlencode('http://www.phprm.com/ 中国地址.html'));这样就显示正常了.