我在这里有一个链接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
答案 0 :(得分:2)
您发布的网址无法以技术方式生效。如果您输入这样的URL,浏览器会处理这个问题,但在技术层面上,您必须自己处理这些详细信息。
在这种情况下,urls请求参数中有一个空白。这样的字符在URL中无效。因此你必须逃脱它。尝试使用这些变体:
请注意,您不能简单地使用urlencode()
之类的函数来处理整个网址。这也会逃避像斜线之类的东西。该函数用于转义字符串,以便可以将其用作内部 URL中的单个标记。