在linux/Unix 為代表的os上, 對后端進行測試, 模擬連接請求都會書寫腳本
場景:
在Linux 上接口測試工具有ab, restClient, postman等, 最常用的方法是curl進行簡單測試
curl是非常方便的Rest 客戶端, 可以很方便的完成 Rest API測試, 利用curl對http協議發送Get/Post/Delete/Put, 同時還可以攜帶header 來滿足Rest API 需求的特定條件
curl 常用的參數
-X/--request [GET|POST|PUT|DELETE|…] 使用指定的http method發出 http request
-H/--header 設定request里的header
-i/--include 顯示response的header
-d/--data 設定 http parameters
-v/--verbose 輸出比較多的信息
-u/--user 使用者賬號
-b/--cookie cookie 文件路徑 使用cookie
linux command line 的參數, 同一個功能常會有兩個完全相同的參數, 一個是比較短的參數, 另一個是比較長的參數
比如:
參數-X 和--request 兩個功能是一樣的 curl -X POST http://www.example.com or curl --request POST http://www.example.com/ 是完全相同的.
curl發送請求參數使用
設置header:
curl -i -H "Content-Type: application/json" http://www.baidu.com
設置HTTP parameter:
curl -X POST -d "param1:value1¶m2=value2" 或者 -d "param1=value1" -d "param2=value2"
session認證:
curl -X GET 'http://www.baidu.com/' --header 'sessionid:sessionid值'
使用cookie:
curl -i --header "Content-Type:application/json" -X GET -b ~/cookie.txt http://www.baidu.com
測試接口上傳文件:我們用 -F "file=@__FILE_PATH__" 的方式,傳輸文件即可, 如果想看到詳細的請求信息,可以加上 -v 參數
curl -i -X POST -F 'file=@/User/uploadFile.txt' -H "token:abc123" -v
HTTP基本認證(HTTP Basic Authentication):
curl -i -u username:password http://www.baidu.com/api/foo'
知識點擴展:
curl post請求, 數據可以采用xml 或者json格式, 並且可以發送本地xml和json文件
curl -H 'Content-Type:application/json' -X POST -d '{"name":"zhangsan"}' http://www.baidu.com/
curl -X POST -H 'content-type: application/json' -d /apps/jsonfile.json http://www.baidu.com/
curl -X POST -H 'content-type:application/xml' -d '<?xml version="1.0" encoding="UTF-8"?><name>zhangsan</name>' http://www.baidu.com/
可能你會覺得這樣使用命令很煩,但是,當你僅僅需要簡單測試一個接口,進行一些輕量的操作的,是順手在終端中使用一個命令來得方便,還是打開一個圖形工具來得方便呢? 多數情況下服務端系統沒有裝圖形化工具.
今日推薦閱讀文章精選推薦
咨詢工作加微信
掃描二維碼
歡迎自薦和推薦, 需要的微信推送簡歷!
請猛戳下面二維碼了解更多