Como posso fazer um HTTP PUT com o Wget?

37

Estou tentando usar o Wget para acessar uma interface RESTful , mas não consigo descobrir como fazer HTTP PUT com o Wget. Como eu posso fazer isso? Ou não é possível?

Jonas
fonte

Respostas:

23

O Wget não pode fazer PUT. Use cURL em vez disso, com -T.

Ignacio Vazquez-Abrams
fonte
há também um utilitário wput que parece limitado ao FTP.
quack quixote
10
O Wget agora pode fazer PUT usando --method.
John Henry
52
wget --method=PUT --body-data=<STRING>

Isso é um pouco tarde, mas em algum momento após a postagem original, eles adicionaram a opção "--method". Não tenho certeza de quando foi adicionado, mas consulte https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 para obter detalhes.

John Henry
fonte
5
Essa resposta deve ser aceita.
Vanuan 14/10/16
3
Resposta deve ser aceita em 2014, 2016 ou quando. --method param não estava disponível no wget em 2010 :(
Bernhard Döbler
4
Não na caixa ocupado
Dmitry Minkovsky
Parece não funcionar ao usar com autenticação. Eu tentei wget --method=PUTcom autenticação de acesso digest, mas o wget não executa o procedimento de autenticação, como faz com a solicitação GET padrão.
Joe
--method ainda não está disponível no centos 7.
David V.
21

Como essa é a interface REST , acho que você gostaria de usá curl-la -X PUT, assim:

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

Ou se você precisar "postar" dados de um arquivo, como um 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
fonte
6

Para mim, seguinte trabalho:

curl -T <file-path> <url>

Por alguma razão, quando fiz o seguinte, nada aconteceu (também não houve erro):

curl -X PUT -d <file-path> <url>         (did not work)
hznut
fonte
1
-denviará os dados que você inseriu na linha de comando, para tentar COLOCAR o caminho do arquivo como texto.
che
4

Se você não quiser usar um arquivo como dados, faça o seguinte.

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