Réponses:
Utilisation du -X
drapeau avec le verbe HTTP que vous souhaitez:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
Cet exemple utilise également l' -d
indicateur pour fournir des arguments avec votre demande PUT.
GET
after 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.
-T
n'est pas un substitut -X PUT
si vous souhaitez spécifier des paramètres avec -d
ou -F
. -T
envoie le contenu d'un fichier via PUT. Pour obtenir l' GET
after 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'