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?

Jonas
sumber

Jawaban:

23

Wget tidak bisa melakukan PUT. Gunakan cURL sebagai gantinya, dengan -T.

Ignacio Vazquez-Abrams
sumber
ada juga utilitas wput yang tampaknya terbatas pada FTP.
quack quixote
10
Wget sekarang dapat melakukan PUT menggunakan --method.
John Henry
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.

John Henry
sumber
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
Sverre Marvik
sumber
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)
hznut
sumber
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
fredrik
sumber