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

Respuestas:

23

Wget no puede hacer PUT. Use cURL en su lugar, con -T.

Ignacio Vazquez-Abrams
fuente
También hay una utilidad wput aunque parece limitada a FTP.
quack quijote
10
Wget ahora puede hacer PUT usando --method.
John Henry
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.

John Henry
fuente
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
Sverre Marvik
fuente
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)
hznut
fuente
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
fredrik
fuente