【发布时间】:2012-09-09 19:17:34
【问题描述】:
当我使用 curl 库并尝试从 url 获取图像时,我收到 400 bad request 错误。 我发现这个问题与编码网址有关。 但在我的情况下它不起作用,因为我的网址 - 它是服务器端图像的路径 - 就像
http://example.com/images/products/product 1.jpg
我知道名称文件中的用户空间是不好的做法,但它不是我的服务器,也不是我创建的那些文件。
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, urlencode($url));
echo $ret = curl_exec($ch);
当我使用 urlencode 函数时 - curl 返回 http_code = 0
更新
$url = str_replace(' ', '+', $url);
不起作用,服务器返回 404 错误。
【问题讨论】:
-
这样的 URL 是可能的(带空格)。当我们在 URL 中输入空格时,空格变成
%20 -
@diEcho 什么?当然有可能。它本身不会变成 %20 - 一些客户可以做到这一点,但肯定不是全部,而且总是不可能。