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?

Odpowiedzi:



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 .


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

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)

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.