Як я можу зробити HTTP PUT за допомогою Wget?


37

Я намагаюся використовувати Wget для доступу до інтерфейсу RESTful , але не можу зрозуміти, як зробити HTTP PUT за допомогою Wget. Як я можу це зробити? Або це неможливо?

Відповіді:



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

Це трохи пізно, але в якийсь момент після початкової публікації вони додали параметр "--method". Я не впевнений, коли це було додано, але див. Https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 для детальної інформації.


5
На це слід прийняти відповідь.
Вануан

3
Слід прийняти відповідь у 2014, 2016 або будь-коли. --мето парам не вдався в wget ще в 2010 році :(
Bernhard Döbler

4
Не в зайнятій коробці
Дмитро Мінковський

Здається, не працює при використанні з аутентифікацією. Я спробував wget --method=PUTперевірити автентифікацію доступу, але wget не виконує процедуру аутентифікації, як це робиться зі стандартним GET-запитом.
Джо

- Метод досі недоступний у центрі 7.
Девід В.

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)

1
-dнадішле дані, які ви ввели у командному рядку, тому спробує прокласти шлях PUT до тексту як текст.
че

4

Якщо ви не хочете використовувати файл як дані, ви можете зробити наступне.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.