Urlencode-Daten für den Curl-Befehl in Bash

Dr. Muhammad Abdullah 20 Juni 2023
Urlencode-Daten für den Curl-Befehl in Bash

curl ist ein Linux-Befehlszeilendienstprogramm, das Daten von einer Maschine auf eine andere überträgt. Es kann mit mehreren Protokollen arbeiten, darunter HTTP, DICT, FILE, FTP, FTPS, IMAP, IMAPS, POP3 usw.

In diesem Artikel erfahren Sie, wie wir Daten für den Befehl curl in der Bash urlencodieren können. Beginnen wir mit der Syntax des curl-Befehls.

den curl-Befehl in Bash

Die grundlegende Syntax des curl-Befehls lautet wie folgt:

curl [URL] [option]

Beispiel:

curl http://example.com

Dieser Befehl zeigt den Inhalt von http://example.com auf dem Linux-Terminal an.

curl-Befehlsoptionen

Mit dem Befehl curl können wir mehrere Optionen verwenden. Im Allgemeinen werden Optionen mit einem Bindestrich (-) oder zwei Bindestrichen (--) eingeleitet. Zum Beispiel kann der Befehl curl mit einer Option wie folgt geschrieben werden:

curl -L [URL]

Ein curl-Befehl mit mehreren Optionen kann wie folgt geschrieben werden:

curl -ELb [URL]

Oder

curl -E -L -b [URL]

curl -d oder --data Option

Die Option -d oder --data mit dem Befehl curl wird verwendet, um Daten als POST-Anforderung an den Server zu senden. Zum Beispiel:

curl -d "p1=v1&p2=v2" [URL]

Oder

curl --data "p1=v1&p2=v2" [URL]

Dieser Befehl sendet Daten an die angegebene URL. Beispielsweise ist der Wert des Parameters p1 v1 und der Wert des Parameters p2 ist v2, was an den Server gesendet wird. Diese Parameter werden im reinen Binärformat gesendet.

curl unterstützt ein anderes Format zum Senden der Daten an den Server. Zum Beispiel:

  1. --data-ascii funktioniert genauso wie die Option -d oder --data.
  2. Die Option --data-binary wird verwendet, um POST-Daten im tatsächlichen Format, wie im Befehl angegeben, ohne Verarbeitung zu senden.
  3. Die Option --data-urlencode sendet POST-Daten an den Server, indem URL-Codierung durchgeführt wird.

URL-Encode-Daten aus dem curl-Befehl

curl mit --data-urlencode wird verwendet, um Daten an den Server zu senden, indem URL-Codierung durchgeführt wird.

Zum Beispiel:

curl --data-urlencode "p1=v1" [URL]

Der obige Befehl kräuselt die URL und übergibt den Parameter p1 den Wert v1 in der URL-kodierten Form. Dieser Befehl URL-kodiert den Wert v1 und erwartet, dass das p1 bereits in URL-kodierter Form vorliegt.

Wir können diese curl-Option mit curl 7.18.0 oder höher verwenden. Um beispielsweise die Version des Befehls curl zu überprüfen, können wir curl -V verwenden.

Der Befehl curl mit der Option --data-urlencode kann in mehreren Formaten verwendet werden. Zum Beispiel:

  1. curl --data-urlencode =content [URL]
    

    Dieser Befehl codiert den Inhalt per URL und sendet ihn im POST. Das = ist in den Daten nicht enthalten.

  2. curl --data-urlencode name@file [URL]
    

    Dieser Befehl wird die Daten aus der angegebenen Datei URL-kodieren und sie im POST senden. Der Befehl geht davon aus, dass der Name bereits in URL-codierter Form vorliegt.

  3. curl --data-urlencode @file [URL]
    

    Dieser Befehl wird die Daten aus der angegebenen Datei URL-kodieren und sie im POST senden.