Curl gibt 400 ungültige Anforderungen zurück (URL mit Leerzeichen)

Wenn ich die Lockenbibliothek verwende und versuche, ein Bild von der URL zu erhalten, erhalte ich einen 400-Bit-Anforderungsfehler. Ich habe festgestellt, dass dieses Problem mit der Codierung der URL zusammenhängt. Aber in meinem Fall funktioniert es nicht, weil meine URL - der Pfad zum Bild auf der Serverseite - dem Pfad entspricht

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

Ich verstehe, dass User Spaces in Namensdateien eine schlechte Praxis sind, aber es ist nicht mein Server und ich habe diese Dateien nicht erstellt.

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

Wenn ich die Funktion "Urlencode" verwende, wird http_code = 0 ausgegeben

Aktualisierte

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

funktioniert nicht, Server gibt 404-Fehler zurück.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage