Curl zwraca 400 złych żądań (adres URL ze spacjami)

Kiedy używam biblioteki curl i próbuję uzyskać obraz z adresu URL, otrzymuję 400 błędów błędnego żądania. Założyłem, że problem polega na kodowaniu adresu URL. Ale w moim przypadku to nie działa, ponieważ mój adres URL - to ścieżka do obrazu po stronie serwera - jak

http://example.com/images/products/product 1.jpg

Rozumiem, że przestrzenie użytkownika w plikach nazw to zła praktyka, ale nie jest to mój serwer i nie stworzyłem tych plików.

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, urlencode($url));
echo $ret = curl_exec($ch);

Kiedy używam funkcji urlencode - curl return http_code = 0

Zaktualizowano

$url = str_replace(' ', '+', $url);

nie działa, błąd powrotu serwera 404.

questionAnswers(3)

yourAnswerToTheQuestion