1. 程式人生 > >【工具】使用 curl 傳送 restful 請求的基礎用法

【工具】使用 curl 傳送 restful 請求的基礎用法

重要引數

-X/--request [GET|POST|PUT|DELETE|…]  使用指定的http method
-H/--header                           設定request裡的header資訊,比如content-type
-i/--include                          顯示response的header
-d/--data                             設定 http parameters 
-v/--verbose                          輸出詳細資訊
-u/--user                             指定使用者賬戶,密碼
-b/--cookie                           cookie  

GET

curl -X GET "http://www.rest.com/api/users"

header

curl -v -i -H "Content-Type: application/json" http://www.example.com/users

POST data

curl -X POST -d "param1=value1&param2=value2"

curl -X POST -d "param1=value1" -d "param2=value2"

POST json

curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -H "Accept:application/json" -d '{"boolean" : false, "foo" : "bar"}'

curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -d '{"boolean" : false, "foo" : "bar"}'

cookie

許多服務,需要進行登陸或者認證,然後通過cookie或session資訊來訪問 curl -X GET 'http://www.rest.com/api/users' --header 'sessionid:1234567890987654321'

如果使用cookie,可以把cookie資訊存檔,然後通過 -b cookie_file 的方式在request中植入cookie

存檔

curl -i -X POST -d username=kent -d password=kent123 -c ~/cookie.txt http://www.rest.com/auth

使用

curl -i --header “Accept:application/json” -X GET -b ~/cookie.txt http://www.rest.com/users/1

upload file

curl -i -X POST -F ‘[email protected]/Users/kent/my_file.txt’ -F ‘name=a_file_name’