- httpie
- 安装方式:
sudo apt install httpie
# 或者是
pip install httpie
- 资源请求,注意post请求 int类型的参数传递的格式
// GET请求
http GET http://127.0.0.1:8080/api/v1
// PUT请求
http PUT http://127.0.0.1:8080/api/v1 value=="hello"
// DELETE请求
http DELETE http://127.0.0.1:8080/api/v1
// POST请求
http POST http://127.0.0.1:8080/api/v1/user/info id:=1 username=baibai passwd=bai123 role=meb
- curl 安装
sudo apt install curl
- 相关的参数详解:
-X/--request [GET|POST|PUT|DELETE|…] 指定请求的方式
-H/--header 指定请求header
-i/--include 显示返回的header
-d/--data 指定参数
-v/--verbose 输出更详细信息
-u/--user 授权帐号和密码
-b/--cookie cookie
HEADER 案例,注意-H 在传递json的时候特别有用:
curl -v -i -H "Content-Type: application/json" http://127.0.0.1:8080/api/v1/user/info
# 使用`&`串接多個參數
curl -X POST "Content-Type: application/json" http://127.0.0.1:8080/api/v1/user/info -d "param1=value1¶m2=value2"
- json相关的参数传递,如果需要同时传送request parameter和json,request parameter可以加在url后面,json资料放入-d的参数,header要加入"Content-Type:application/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"}'
// 不加"Accept:application/json"也可以
curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -d '{"boolean" : false, "foo" : "bar"}'
- 需要认证或登录这部分主要有两种方式:session和cookie。
- 后端如果是session记录使用者登录信息会回传一个session id给前端,前端需要在每次跟后端的requests的headers中置入此session id,后端便会以此session id识别前端是属于哪个session。
curl --request GET 'http://www.rest.com/api/users' --header 'sessionid:1234567890987654321'
- 如果是使用cookie,在登录后,后端会回一个cookie回来,把该cookie存档,当下次请求时,再用-b cookie_file的方式在request中植入cookie即可。
// 將cookie存檔
curl -i -X POST -d username=kent -d password=kent123 -c ~/cookie.txt http://www.rest.com/auth
// 載入cookie到request中
curl -i --header "Accept:application/json" -X GET -b ~/cookie.txt http://www.rest.com/users/1
Authentication
如果网站采用了HTTP基本认证,可以使用–user username:password进行授权
curl -i --user suraer:secret "http://www.rest.com/api/foo"