Curl retorna 400 solicitação incorreta (url com espaços)

Quando uso a biblioteca curl e tento obter a imagem da url, recebo 400 erros de solicitação incorreta. Eu fundei esse problema com o URL de codificação. Mas no meu caso não é trabalho, porque o meu url - é o caminho para a imagem no lado do servidor - como

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

Eu entendo que espaços de usuário em arquivos de nome é uma prática ruim, mas não é o meu servidor e não criei esses arquivos.

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

Quando eu uso a função urlencode - retorno curl http_code = 0

Atualizada

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

não funciona, erro 404 de devolução do servidor.

questionAnswers(3)

yourAnswerToTheQuestion