web-dev-qa-db-ja.com

WgetでHTTP PUTを実行するにはどうすればよいですか?

Wget を使用して RESTful インターフェースにアクセスしようとしていますが、WgetでHTTP PUTを実行する方法がわかりません。どうすればできますか?それとも可能でしょうか?

39
Jonas

WgetはPUTを実行できません。代わりに cURL を使用し、-T

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

これは少し遅いですが、元の投稿の後のある時点で、「-メソッド」オプションが追加されました。いつ追加されたかはわかりませんが、詳細は https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 を参照してください。

57
John Henry

これは [〜#〜] 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
21
Sverre Marvik

私のために働いた:

curl -T <file-path> <url>

何らかの理由で私がそれをフォローしたときに何も起こりませんでした(エラーもありません):

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

ファイルをデータとして使用したくない場合は、次の操作を実行できます。

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
4
fredrik