Bagaimana saya bisa melakukan PUT HTTP dengan Wget?


37

Saya mencoba menggunakan Wget untuk mengakses antarmuka yang tenang , tetapi saya tidak tahu cara melakukan HTTP PUT dengan Wget. Bagaimana saya bisa melakukannya? Atau bukankah itu mungkin?

Jawaban:



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

Ini agak terlambat, tetapi pada beberapa titik setelah posting asli, mereka menambahkan opsi "--metode". Saya tidak yakin kapan itu ditambahkan, tetapi lihat https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684189#24 untuk detailnya.


5
Ini harus diterima jawaban.
Vanuan

3
Harus diterima jawaban di 2014, 2016 atau kapan saja. --method param tidak berhasil di wget kembali pada tahun 2010 :(
Bernhard Döbler

4
Tidak dalam kotak sibuk
Dmitry Minkovsky

Tampaknya tidak berfungsi saat menggunakan dengan otentikasi. Saya mencoba wget --method=PUTdengan otentikasi akses akses tetapi wget tidak melakukan prosedur otentikasi seperti halnya dengan permintaan GET standar.
Joe

--metode masih belum tersedia dalam centos 7.
David V.

21

Karena ini adalah SISA antarmuka, saya pikir Anda ingin menggunakan curldengan -X PUT, seperti ini:

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

Atau jika Anda perlu "memposting" data dari file, seperti 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

Bagi saya berikut ini berhasil:

curl -T <file-path> <url>

Untuk beberapa alasan ketika saya mengikuti itu tidak ada yang terjadi (tidak ada kesalahan juga):

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

1
-dakan mengirim data yang Anda masukkan pada baris perintah, sehingga akan mencoba PUT jalur file sebagai teks.
che

4

Jika Anda tidak ingin menggunakan file sebagai data, Anda dapat melakukan hal berikut.

curl -X PUT -d "something=blabla&somethingelse=blaha" http://www.example.com
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.