Jak mogę wykonać PUT HTTP za pomocą Wget?

37

Próbuję użyć Wget, aby uzyskać dostęp do interfejsu RESTful , ale nie mogę dowiedzieć się, jak wykonać HTTP PUT za pomocą Wget. Jak mogę to zrobić? Czy to nie jest możliwe?

Jonas
źródło

Odpowiedzi:

23

Wget nie może zrobić PUT. Zamiast tego użyj cURL z -T.

Ignacio Vazquez-Abrams
źródło
jest też narzędzie wput, które wydaje się ograniczone do FTP.
quack quixote
10
Wget może teraz wykonać PUT za pomocą --method.
John Henry
52
wget --method=PUT --body-data=<STRING>

Jest trochę późno, ale w pewnym momencie po oryginalnym poście dodali opcję „--method”. Nie jestem pewien, kiedy został dodany, ale szczegółowe informacje można znaleźć na stronie https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 .

John Henry
źródło
5
Należy zaakceptować odpowiedź.
Vanuan
3
Należy zaakceptować odpowiedź w 2014, 2016 lub kiedykolwiek. --method param nie był dostępny w wget w 2010 roku :(
Bernhard Döbler
4
Nie w zajętym pudełku
Dmitrij Minkowski
Wygląda na to, że nie działa podczas używania z uwierzytelnianiem. Próbowałem wget --method=PUTz uwierzytelnianiem dostępu skrótu, ale wget nie wykonuje procedury uwierzytelniania tak jak ze standardowym żądaniem GET.
Joe
- metoda wciąż niedostępna w centach 7.
David V.
21

Ponieważ jest REST interfejs, myślę, że chcesz skorzystać curlz -X PUT, jak to:

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

Lub jeśli chcesz „opublikować” dane z pliku, np. 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
źródło
6

Dla mnie działało:

curl -T <file-path> <url>

Z jakiegoś powodu, kiedy to zrobiłem, nic się nie stało (również bez błędu):

curl -X PUT -d <file-path> <url>         (did not work)
hznut
źródło
1
-dwyśle ​​dane wprowadzone w wierszu polecenia, więc spróbuje umieścić ścieżkę pliku PUT jako tekst.
che
4

Jeśli nie chcesz używać pliku jako danych, możesz wykonać następujące czynności.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Fredrik
źródło