我收到同样的错误,请建议
$url="http://domain.com/manage/File Name.xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url); // get the url contents
$data = curl_exec($ch); // execute curl request
curl_close($ch);
echo $data;
答案 0 :(得分:4)
当您的curl网址包含空格时,会出现此错误。你必须编码url以删除空格。
$base_url = "http://domain.com/manage/";
$url = "File Name.xml";
$ch = curl_init();
$final_url = $base_url . curl_escape($ch, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url); // get the url contents
$data = curl_exec($ch); // execute curl request
curl_close($ch);
echo $data;
答案 1 :(得分:2)
如评论中所述,您的网址不包含编码字符(空格)。
CURLOPT_URL
时对您的网址进行编码:
curl_setopt($ch, CURLOPT_URL, urlencode($url));
您还可以使用curl_escape()
对查询字符串部分进行编码。
答案 2 :(得分:0)
答案 3 :(得分:0)
这里的答案建议使用url_encode或curl_escape函数。如果要符合RFC 3986,请改用rawurlencode()函数。这有助于解决PHP 7中的curl请求。帮助其他人。