bash

HTTP POST-Daten mit curl und Ampersand (&) Escaping

Dieser Artikel stellt vor, wie man Daten mit dem Linux curl-Befehl per HTTP POST sendet und wie man Ampersands (&) maskiert. Für curl-Formulardaten-POST können zwei Optionen verwendet werden: f und d. Der Unterschied ist, dass f nur einen Schlüssel senden kann, aber d kann mehrere Parameter senden...

Shou Arisaka
1 Min. Lesezeit
6. Okt. 2025

Dieser Artikel stellt vor, wie man Daten mit dem Linux curl-Befehl per HTTP POST sendet und wie man Ampersands (&) maskiert.

Für curl-Formulardaten-POST können zwei Optionen verwendet werden.

f und d. Der Unterschied ist, dass f nur einen Schlüssel senden kann, aber d kann mehrere Parameter senden.

curl https://example.com/ -X POST -f 'html=hogehogehoge' #=> Ok
curl https://example.com/ -X POST -f 'html=hogehogehoge&fuga=fugafuga' #=> Error
curl https://example.com/ -X POST -d 'html=hogehogehoge' #=> Ok
curl https://example.com/ -X POST -d 'html=hogehogehoge&fuga=fugafuga' #=> Ok

Wenn ”&” in den Daten enthalten ist, wird es als separater Schlüssel nach dem & erkannt, daher ist Escaping erforderlich.

curl https://example.com/ -X POST -d 'html=hogehogehoge&fugafugafuga'

Sie können folgendermaßen gleichzeitig maskieren und curl verwenden:

curl https://example.com/ -X POST --data-urlencode 'html=hogehogehoge&fugafugafuga'

Wenn Sie mehrere Parameter angeben möchten, geben Sie mehrere Optionen an.

curl https://example.com/ -X POST --data-urlencode 'html=hogehogehoge&fugafugafuga'  --data-urlencode 'hoge=hoge'

Oder verwenden Sie dieses Skript. Bash urlencode und urldecode

urlencode 'hogehogehoge&fugafugafuga'
hogehogehoge%26fugafugafuga

curl https://example.com/ -X POST -d 'html=hogehogehoge%26fugafugafuga'

Diesen Artikel teilen

Shou Arisaka 6. Okt. 2025

🔗 Links kopieren