Ich habe eine URL, die Platz in den Abfrageparametern hat. Ich möchte dies in Locken verwenden, z
curl -G "http://localhost:30001/data?zip=47401&utc_begin=2013-8-1 00:00:00&utc_end=2013-8-2 00:00:00&country_code=USA"
was raus gibt
Malformed Request-Line
Nach meinem Verständnis ist o / p auf den im Abfrageparameter vorhandenen Platz zurückzuführen.
Gibt es eine Möglichkeit, die URL automatisch zu codieren, bevor der Befehl curl ausgeführt wird?
msg = '='
?"msg1=Hello&msg2=World"
? Dies verschlüsselt die&
Parameter, die bedeuten, dass eine falsche--data-urlencode
Parameter, einen für jedes Schlüssel-Wert-Paar.Wo
$URL
ist die URL, unter der Sie die Übersetzungen durchführen möchten?Es gibt auch mehr als eine Art von Übersetzung (Kodierung) in einer URL, daher möchten Sie vielleicht Folgendes tun:
stattdessen.
quelle
echo "$URL" | sed 's/ /%20/'
nicht richtig ist, wenn%
die URL Zeichen enthält. Leerzeichen werden normalerweise auch als+
(und+
als%2b
) codiert . Ich empfehle die Perl-Lösung, die zuverlässig ist.sed 's/ /%20/g'
Wenn Sie mehr als ein Leerzeichen zum Übersetzen haben ...