Come posso fare un HTTP PUT con Wget?


37

Sto cercando di utilizzare Wget per accedere a un'interfaccia RESTful , ma non riesco a capire come eseguire HTTP PUT con Wget. Come posso farlo? O non è visibile?

Risposte:



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

È un po 'tardi, ma a un certo punto dopo il post originale, hanno aggiunto un'opzione "--method". Non sono sicuro di quando è stato aggiunto, ma vedi https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 per i dettagli.


5
Questa dovrebbe essere una risposta accettata.
Vanuan,

3
Dovrebbe essere accettata una risposta nel 2014, 2016 o ogni volta. --method param non era disponibile in wget nel 2010 :(
Bernhard Döbler

4
Non in scatola occupata
Dmitry Minkovsky,

Sembra non funzionare quando si utilizza con l'autenticazione. Ho provato wget --method=PUTcon l'autenticazione digest access ma wget non esegue la procedura di autenticazione come fa con la richiesta GET standard.
Joe,

--method non è ancora disponibile in centos 7.
David V.

21

Poiché si tratta di REST interfaccia, penso che ci si vuole utilizzare curlcon -X PUT, in questo modo:

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

O se devi "pubblicare" dati da un file, come 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

Per me il seguito ha funzionato:

curl -T <file-path> <url>

Per qualche motivo quando l'ho seguito non è successo nulla (anche nessun errore):

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

1
-dinvierà i dati inseriti sulla riga di comando, quindi proverà a inserire il percorso del file come testo.
che l'

4

Se non si desidera utilizzare un file come dati, è possibile effettuare le seguenti operazioni.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.