Wie kann ich mit Wget einen HTTP-PUT durchführen?


37

Ich versuche, mit Wget auf eine RESTful- Schnittstelle zuzugreifen , kann jedoch nicht herausfinden, wie HTTP PUT mit Wget ausgeführt wird. Wie kann ich es tun? Oder ist das nicht möglich?

Antworten:



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

Dies ist etwas spät, aber irgendwann nach dem ursprünglichen Beitrag wurde die Option "--method" hinzugefügt. Ich bin nicht sicher, wann es hinzugefügt wurde, aber siehe https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 für Details.


5
Dies sollte als Antwort akzeptiert werden.
Vanuan

3
Sollte Antwort im Jahr 2014, 2016 oder wann immer akzeptiert werden. - Methode param war nicht in wget im Jahr 2010 Erfolg :(
Bernhard Döbler

4
Nicht in der Box beschäftigt
Dmitry Minkovsky

Scheint bei Verwendung mit Authentifizierung nicht zu funktionieren. Ich habe es wget --method=PUTmit der Digest-Zugriffsauthentifizierung versucht, aber wget führt die Authentifizierungsprozedur nicht wie bei der Standard-GET-Anforderung aus.
Joe

- Methode noch nicht in Centos 7 verfügbar.
David V.

21

Da es sich um REST - Schnittstelle, ich glaube , Sie verwenden wollen würde curlmit -X PUT, wie folgt aus :

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

Oder wenn Sie Daten aus einer Datei "posten" müssen, wie z. B. eine XML-Datei:

curl -i -X PUT -H "Content-Type: application/xml; charset=utf-8" -d @"/tmp/some-file.xml" http://www.example.tld/rest/updateEntity

6

Bei mir hat folgendes geklappt:

curl -T <file-path> <url>

Aus irgendeinem Grund, als ich es verfolgte, passierte nichts (auch kein Fehler):

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

1
-dSendet die Daten, die Sie in der Befehlszeile eingegeben haben, und versucht, den Dateipfad als Text einzugeben.
Che

4

Wenn Sie eine Datei nicht als Daten verwenden möchten, können Sie Folgendes tun.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.