【工具】使用 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¶m2=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’