Antworten:
Verwenden des -X
Flags mit einem beliebigen HTTP-Verb:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
In diesem Beispiel wird das -d
Flag auch verwendet , um Argumente für Ihre PUT-Anforderung bereitzustellen.
GET
nach einer Umleitung zu erreichen, fügen Sie den Parameter--location
In einer einzelnen Zeile wäre der Befehl curl:
a) Beim Senden von Formulardaten:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
b) Wenn Rohdaten als json gesendet werden:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
c) Wenn Sie eine Datei mit einer POST-Anfrage senden:
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
Sie können die POSTMAN- App aus dem Chrome Store verwenden, um die entsprechende cURL-Anforderung zu erhalten. Dies ist besonders nützlich, wenn Sie kompliziertere Anforderungen schreiben.
Für die Anfrage mit anderen Formaten oder für verschiedene Clients wie Java, PHP können Sie POSTMAN / Kommentar unten überprüfen.
Ein Beispiel für einen PUT nach dem Kommentar von Martin C. Martin:
curl -T filename.txt http://www.example.com/dir/
Mit -T
(wie --upload-file
) Curl wird PUT für HTTP verwendet.
-T
ist dies kein Ersatz dafür, -X PUT
ob Sie Parameter mit -d
oder angeben möchten -F
. -T
sendet den Inhalt einer Datei per PUT. Um das GET
nach einer Umleitung zu erreichen, fügen Sie den Parameter hinzu--location
curl -X PUT -d 'new_value' URL_PATH/key
wo,
X - Option für den Anforderungsbefehl
d - Option, die verwendet werden soll, um Daten auf die Remote-URL zu setzen
URL_PATH - Remote-URL
new_value - Wert, den wir auf den Serverschlüssel setzen wollen
Ich bin zu spät zu diesem Thread, aber ich hatte auch eine ähnliche Anforderung. Da mein Skript die Anforderung für Curl dynamisch konstruierte, wollte ich eine ähnliche Struktur des Befehls für GET, POST und PUT.
Hier ist was für mich funktioniert
Für PUT- Anfrage:
curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
Für POST- Anfrage:
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
Für GET- Anfrage:
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'