55 votes

Comment faire un HTTP PUT avec Wget ?

J'essaie d'utiliser Wget pour accéder à un RESTful mais je n'arrive pas à comprendre comment faire du HTTP PUT avec Wget. Comment puis-je le faire ? Ou n'est-ce pas possible ?

94voto

John Henry Points 901
wget --method=PUT --body-data=<STRING>

C'est un peu tard, mais à un moment donné après le post original, ils ont ajouté une option "--method". Je ne sais pas exactement quand elle a été ajoutée, mais voir https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 pour plus de détails.

26voto

Ignacio Vazquez-Abrams Points 107432

Wget ne peut pas faire de PUT. Utiliser cURL au lieu de cela, avec -T .

22voto

Ritesh M Nayak Points 2660

Puisqu'il s'agit de REST je pense que vous devriez utiliser l'interface curl con -X PUT comme ceci :

curl -i -X PUT http://www.example.tld/rest/updateEntity/1234?active=false

Ou si vous devez "poster" des données à partir d'un fichier, comme un fichier XML :

curl -i -X PUT -H "Content-Type: application/xml; charset=utf-8" -d @"/tmp/some-file.xml" http://www.example.tld/rest/updateEntity

6voto

ukLab Points 121

Pour moi, la méthode suivante a fonctionné :

curl -T <file-path> <url>

Pour une raison quelconque, lorsque je l'ai suivi, rien ne s'est produit (pas d'erreur non plus) :

curl -X PUT -d <file-path> <url>         (did not work)

4voto

cmeerw Points 4412

Si vous ne souhaitez pas utiliser un fichier comme données, vous pouvez procéder comme suit.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X