用curl測試後台API

2021-08-17 03:24:20 字數 1710 閱讀 3649

curl是一種用來測試應用協議的命令列工具,支援包括http、ftp、smtp和telnet等在內的多種協議,並且提供了**、認證和cookies等豐富的特性。

curl的功能非常強大,這裡簡單記錄一下自己在後台開發時涉及的用法(http協議)。

1、最基本的用法

直接在curl後面接url,curl會把網頁的html原始碼直接列印到stdout。

curl www.example.com

2、顯示http響應的頭部資訊加上-i引數後,curl將會在輸出html原始碼之前將content-type、location、set-cookie等頭部資訊列印出來。

curl -i www.example.com
如果想要檢視http請求/響應過程中的所有頭部資訊,那麼可以改為-v引數。

curl -v www.example.com

3、指定http請求方法後台api往往涉及get、post、delete等多種請求方法,但是curl的預設請求方法為get。這時可以通過-x引數來修改預設請求方法。

curl -x post www.example.com

curl -x delete www.example.com

4、傳送表單資料(1)get方法:直接把資料附在url中

curl www.example.com/add?title=***&text=yyy
(2)post方法:使用--data引數

curl -x post --data "title=***&text=yyy" www.example.com/add
注意:json標準規定,json中的字串要使用雙引號而非單引號。所以,下面的命令對於某些後台api可能無法正常工作。

5、傳送帶有登入態的請求

有一些api只對具有登入態的請求開放,而curl是支援cookies的,因此可以實現帶登入態的請求。具體做法為:

首先,在傳送登入請求時通過-c引數指定乙個檔案,用來存放從伺服器返回的包含sessions資訊的cookies。

curl -x post --data 'username=admin&password=default' -c sessions.txt www.example.com/login
此後,每次傳送請求時都通過-b引數指定之前用來儲存cookies的檔案

curl -x post --data 'title=***&text=yyy' -b sessions.txt www.example.com/add
參考:

阮一峰-curl**開發指南

curl manual

後台API介面規範

最新公司新的專案,使用spring boot,cloud,服務之間使用rest api進行呼叫,所有使用了restful 風格的介面 responsebody public objectrestresponse getbyregionid pathvariable regionid string r...

使用curl測試rails rest

以下是在debian下操作完成的.1.首先安裝curl aptitude install curl 2.開始測試 查詢 get curl x get orcurl x get id 新增 post curl x post h content type text xml d xml content 修...

curl命令測試介面

最近要作為服務端上線兩個介面,供資料資產專案呼叫,由於介面沒有增刪改操作,只有查詢操作,也沒有機密資訊,呼叫對專案沒有影響,怎麼能在上線後,測試一下介面是否能正常返回,於是我想起了curl命令!謹記,一般生產上不能這樣操作!帶引數的post請求 如,post介面請求的鏈結為 post入參為 轉為cu...