Yanıtlar:
-X
Bayrağı istediğiniz HTTP fiiliyle kullanma :
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
Bu örnek ayrıca -d
PUT isteğinizle bağımsız değişkenler sağlamak için bayrağı kullanır .
GET
Yönlendirmeden sonra elde etmek için , şu parametreyi ekleyin--location
Tek bir satırda curl komutu şöyle olur:
a) Form verileri gönderiyorsanız:
curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"
b) Ham verileri json olarak gönderiyorsanız:
curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"
c) POST isteği olan bir dosya gönderiyorsanız:
curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'
Eşdeğer cURL isteğini almak için Chrome Mağazası'ndan POSTMAN uygulamasını kullanabilirsiniz . Bu özellikle daha karmaşık istekler yazarken kullanışlıdır.
Diğer biçimlerle veya java, PHP gibi farklı istemcilerle ilgili istek için POSTMAN / comment'a göz atabilirsiniz.
Martin C. Martin'in yorumunu takip eden bir örnek PUT:
curl -T filename.txt http://www.example.com/dir/
-T
( İle aynı --upload-file
) curl HTTP için PUT kullanır.
-T
yerine geçmez -X PUT
sen parametreleri belirlemek istiyorsanız -d
veya -F
. -T
bir dosyanın içeriğini PUT ile gönderir. GET
Yönlendirmeden sonra ulaşmak için , şu parametreyi ekleyin--location
curl -X PUT -d 'new_value' URL_PATH/key
nerede,
X - istek komutu için kullanılacak seçenek
d - verileri uzak url'ye koymak için kullanılacak seçenek
URL_PATH - uzak URL
new_value - sunucunun anahtarına koymak istediğimiz değer
Bu konuya geç kaldım, ama ben de benzer bir gereksinimim vardı. Betiğim dinamik olarak kıvrılma isteğini oluşturduğundan, GET, POST ve PUT genelinde benzer bir komut yapısı istedim.
İşte benim için işe yarayan
İçin PUT isteği:
curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
For POST isteği:
curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'
İçin GET isteği:
curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'