file_get_contents中的HTTP / 1.1 400错误请求

时间:2014-08-31 11:07:29

标签: php http file-get-contents

我在这里有一个链接http://www.example.com/Movies.aspx?movname=Raja Natwarlal

这是我的代码

file_get_contents($link, false, $context);

它给我这个错误

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

我也试过这段代码

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get the code of request
curl_close($ch);

它给我$ httpCode = 400

1 个答案:

答案 0 :(得分:2)

您发布的网址无法以技术方式生效。如果您输入这样的URL,浏览器会处理这个问题,但在技术层面上,您必须自己处理这些详细信息。

在这种情况下,urls请求参数中有一个空白。这样的字符在URL中无效。因此你必须逃脱它。尝试使用这些变体:

请注意,您不能简单地使用urlencode()之类的函数来处理整个网址。这也会逃避像斜线之类的东西。该函数用于转义字符串,以便可以将其用作内部 URL中的单个标记。