¿Cómo puedo hacer un HTTP PUT con Wget?


37

Estoy tratando de usar Wget para acceder a una interfaz RESTful , pero no puedo entender cómo hacer HTTP PUT con Wget. ¿Cómo puedo hacerlo? ¿O no es posible?

Respuestas:



52
wget --method=PUT --body-data=<STRING>

Esto es un poco tarde, pero en algún momento después de la publicación original, agregaron una opción de "método". No estoy seguro de cuándo se agregó, pero consulte https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 para obtener más detalles.


55
Esta debe ser la respuesta aceptada.
Vanuan

3
Se debe aceptar la respuesta en 2014, 2016 o cuando sea. --método de método no estaba disponible en wget en 2010 :(
Bernhard Döbler

44
No en caja ocupada
Dmitry Minkovsky

Parece que no funciona cuando se usa con autenticación. Intenté wget --method=PUTcon la autenticación de acceso de resumen pero wget no realiza el procedimiento de autenticación como lo hace con la solicitud GET estándar.
Joe

- método todavía no disponible en centos 7.
David V.

21

Dado que este es RESTO interfaz, creo que te gustaría utilizar curlcon -X PUT, como este:

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

O si necesita "publicar" datos de un archivo, como un XML:

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

6

Para mí lo siguiente funcionó:

curl -T <file-path> <url>

Por alguna razón, cuando lo seguí, no sucedió nada (tampoco hubo error):

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

1
-denviará los datos que ingresó en la línea de comando, por lo que intentará PONER la ruta del archivo como texto.
che

4

Si no desea utilizar un archivo como datos, puede hacer lo siguiente.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.