Réponses:
Utilisation du -Xdrapeau avec le verbe HTTP que vous souhaitez:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
Cet exemple utilise également l' -dindicateur pour fournir des arguments avec votre demande PUT.
GETafter une redirection, ajoutez le paramètre--location
En une seule ligne, la commande curl serait:
a) Si vous envoyez des données de formulaire:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
b) Si vous envoyez des données brutes au format json:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
c) Si vous envoyez un fichier avec une requête POST:
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
Vous pouvez utiliser l' application POSTMAN du Chrome Store pour obtenir la demande cURL équivalente. Ceci est particulièrement utile lors de l'écriture de demandes plus compliquées.
Pour la demande avec d'autres formats ou pour différents clients comme Java, PHP, vous pouvez consulter POSTMAN / commentaire ci-dessous.

Un exemple PUT suivant le commentaire de Martin C. Martin:
curl -T filename.txt http://www.example.com/dir/
Avec -T(identique à --upload-file) curl utilisera PUT pour HTTP.
-Tn'est pas un substitut -X PUTsi vous souhaitez spécifier des paramètres avec -dou -F. -Tenvoie le contenu d'un fichier via PUT. Pour obtenir l' GETafter une redirection, ajoutez le paramètre--location
curl -X PUT -d 'new_value' URL_PATH/key
où,
X - option à utiliser pour la commande de requête
d - option à utiliser pour mettre des données sur une URL distante
URL_PATH - URL distante
new_value - valeur que nous voulons mettre à la clé du serveur
Je suis en retard sur ce sujet, mais j'avais moi aussi une exigence similaire. Puisque mon script construisait la demande de curl dynamiquement, je voulais une structure similaire de la commande à travers GET, POST et PUT.
Voici ce qui fonctionne pour moi
Pour une demande PUT :
curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
Pour une demande POST :
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
Pour une demande GET :
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'