Как я могу сделать HTTP PUT с Wget?

37

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

Jonas
источник

Ответы:

23

Wget не может делать PUT. Используйте вместо cURL , с -T.

Игнасио Васкес-Абрамс
источник
есть также утилита wput, которая кажется ограниченной FTP.
Квик-кихот
10
Wget теперь может делать PUT, используя --method.
Джон Генри
52
wget --method=PUT --body-data=<STRING>

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

Джон Генри
источник
5
Это должен быть принят ответ.
Вануан
3
Должен быть принят ответ в 2014, 2016 или когда-либо. Параметр --method не был доступен в wget еще в 2010 году :(
Бернхард Доблер
4
Не в занятой коробке
Дмитрий Минковский
Кажется, не работает при использовании с аутентификацией. Я пробовал wget --method=PUTс дайджест-аутентификацией доступа, но wget не выполняет процедуру аутентификации, как при стандартном запросе GET.
Джо
- метод до сих пор не доступен в centos 7.
David V.
21

Так как это 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)
hznut
источник
1
-dотправит введенные вами данные в командную строку, поэтому попытается PUT путь к файлу в виде текста.
Че
4

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

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Фредрик
источник