Jawaban:
Menggunakan -X
bendera dengan kata kerja HTTP apa pun yang Anda inginkan:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
Contoh ini juga menggunakan -d
bendera untuk memberikan argumen dengan permintaan PUT Anda.
GET
setelah pengalihan, tambahkan parameter--location
Dalam satu baris, perintah curl adalah:
a) Jika mengirim data formulir:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
b) Jika mengirim data mentah sebagai json:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
c) Jika mengirim file dengan permintaan POST:
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
Anda dapat menggunakan aplikasi POSTMAN dari Toko Chrome untuk mendapatkan permintaan CURL yang setara. Ini sangat berguna saat menulis permintaan yang lebih rumit.
Untuk permintaan dengan format lain atau untuk klien yang berbeda seperti java, PHP, Anda dapat melihat POSTMAN / komentar di bawah ini.
Contoh PUT mengikuti komentar Martin C. Martin:
curl -T filename.txt http://www.example.com/dir/
Dengan -T
(sama dengan --upload-file
) curl akan menggunakan PUT untuk HTTP.
-T
ini bukan pengganti -X PUT
jika Anda ingin menentukan parameter dengan -d
atau -F
. -T
mengirimkan konten file melalui PUT. Untuk mencapai GET
setelah pengalihan, tambahkan parameter--location
curl -X PUT -d 'new_value' URL_PATH/key
dimana,
X - opsi yang akan digunakan untuk perintah permintaan
d - opsi yang akan digunakan untuk menempatkan data pada url jarak jauh
URL_PATH - url jarak jauh
new_value - nilai yang ingin kita masukkan ke kunci server
Saya terlambat ke utas ini, tetapi saya juga memiliki persyaratan yang serupa. Karena skrip saya menyusun permintaan untuk curl secara dinamis, saya menginginkan struktur perintah yang serupa di GET, POST, dan PUT.
Inilah yang bekerja untuk saya
Untuk permintaan PUT :
curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
Untuk permintaan POST :
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
Untuk permintaan GET :
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'