cURL是常用的命令行操作工具,我们会用这个命令必须要进行Account API的调用。cURL只能发起API调用,本身并不具备结果验证能力。
比如curl -i -H "Accept:application/json" -X GET "http://127.0.0.1:8080/account/ID"
其中命令行参数:
-i:说明显示response的header信息
-H:用于设定request的header
-X:用于指定执行的方法,使用了GET方法,其他常见的方法还有POST、PUT、DELETE等,如果不知道-X,默认方法是GET。
-d:用于设定http参数,http参数可以直接加在URL的query string,也可以用-d带入参数,参数之间可用&串接,或使用多个-d
-b:传递cookie时,用于指定cookie文件的路径
1.session场景
session记录使用者登入信息,后端会传一个session ID给前端,前端在发给后端的requests的header中就需要设置此session ID,后端便会以此session ID识别出前端是属于具体哪个session.
curl -i -H "sessionid:XXXX" -X GET "http://XXX/api/demoAPI"
2.cookie场景
使用cookie,认证成功后,后端会返回cookie给前端,前端可以把该cookie保存成为文件,当需要再次使用该cookie时,再用 -b cookie_file 的方式在request中植入cookie既可正常使用
将cookie保存为文件:
curl -i -X POST -d username=robin -d password=password123 -c ~/cookie.txt "http://XXX/api/demoAPI"
载入cookie到request中:
curl -i -H "Accept:application/json" -X GET -b ~/cookie.txt "http://XXX/api/demoAPI"