Como posso fazer um HTTP PUT com o Wget?

31

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

    
por Jonas 12.04.2010 / 10:02

5 respostas

23

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

    
por 12.04.2010 / 10:11
39
wget --method=PUT --body-data=<STRING>

Isso é um pouco tarde, mas em algum momento após a postagem original, eles adicionaram uma opção "--method". Não sei ao certo quando foi adicionado, mas veja link para detalhes. p>     

por 19.10.2014 / 19:42
20

Como esta é a interface REST , eu acho que você gostaria de usar curl com -X PUT , como isso:

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
    
por 14.04.2010 / 00:57
6

Para mim, depois de trabalhado:

curl -T <file-path> <url>

Por alguma razão, quando eu fiz o acompanhamento, nada aconteceu (nenhum erro também):

curl -X PUT -d <file-path> <url>         (did not work)
    
por 29.10.2011 / 00:40
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
    
por 03.01.2012 / 17:51