33

Я пытаюсь использовать Wget для доступа к интерфейсу RESTful , но я не могу понять, как сделать HTTP PUT с Wget. Как мне это сделать? Или это не возможно?

5 ответов5

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

Это немного поздно, но в какой-то момент после первоначального поста они добавили опцию «--method». Я не уверен, когда он был добавлен, но подробности см. На странице https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189 .

24

Wget не может делать PUT. Вместо этого используйте cURL с -T .

20

Так как это интерфейс REST , я думаю, вы захотите использовать curl с -X PUT , например так:

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

Или, если вам нужно "опубликовать" данные из файла, например, 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

У меня работает следующее:

curl -T <file-path> <url>

По какой-то причине, когда я сделал это, ничего не произошло (также без ошибок):

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

Если вы не хотите использовать файл в качестве данных, вы можете сделать следующее.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .