J'essaie d'utiliser Wget pour accéder à une interface RESTful , mais je ne peux pas comprendre comment faire HTTP PUT avec Wget. Comment puis-je le faire? Ou n'est-ce pas possible?
Wget ne peut pas faire PUT. Utilisez plutôt cURL , avec -T
.
wget --method=PUT --body-data=<STRING>
C'est un peu tard, mais après la publication originale, ils ont ajouté l'option "--method". Je ne sais pas quand il a été ajouté, mais voir https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189 pour plus de détails.
Comme il s’agit d’une interface REST , je pense que vous voudriez utiliser curl
avec -X PUT
, comme ceci:
curl -i -X PUT http://www.example.tld/rest/updateEntity/1234?active=false
Ou si vous avez besoin de "publier" 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
Pour moi, les travaux suivants
curl -T <file-path> <url>
Pour une raison quelconque, quand je l'ai suivi, rien ne s'est passé (pas d'erreur non plus):
curl -X PUT -d <file-path> <url> (did not work)
Si vous ne souhaitez pas utiliser un fichier en tant que données, vous pouvez procéder comme suit.
curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com