前言
CURL指令---接口測試之必要技能
如果你經常需要和各種API打交道,我們都知道測試接口是一件非常枯燥的事情,我們需要頻繁的打開浏覽器,輸入URL,以此來檢測API的功能完整性,或者下載下傳各種測試工具。
❓有什麼方法可以即高效又快速的測試API呢
今天所接觸的是一個可以幫助我們進行接口測試的工具--CURL指令
一、Curl指令是什麼
Curl其實是一種用URL文法,它是一種傳輸資料工具,是通過指令來進行工作的。讓我們可以不需要浏覽器也可以發送指令,也可以傳輸資料等等給你功能。它支援跨平台的操做,可以在Windows,LInux,Unix等主流作業系統上進行操做。
二、基本文法
curl
例如我們curl百度試一試
我們發現這樣是可以通路到百度,并擷取到百度的首頁資訊的。哈哈,這樣我們就初步了解了Crul指令的使用。但是光是這些還遠遠不夠,crul的功能還很多,接下來就請聽我慢慢道來。
2.1 Curl參數
Curl的核心功能,就是依靠着強大且豐富的參數庫,具體常用的參數在網上可以搜到許多,這裡我隻介紹我常用的和後端程式猿必備的測試接口所需要的參數。
說明:
本人知識閱曆有限,是以這裡會介紹不全,如有大佬需要補充,歡迎評論😊
2.1.1 Curl如何發送指定請求方式的請求
curl指令預設發送的是get請求,也就和直接在浏覽器的位址欄輸入URL的效果是一樣的
,也就是說我們在通過curl http://www.baidu.com的時候預設是get請求。
❓那麼我們該如何發送POST或者PUT等其他請求方式的請求呢?
【發送get請求文法】
curl -X GET url
curl
-
-X/--request <command>指定什麼指令
【案例分析】
例如我們有一個API接口是
/student/queryAll 主機為本機 端口為8080 請求方式為Get,
那麼我們通過如下方式即可通路此API
【發送post請求文法】
curl -X POST url -d {參數清單}
-
-d/--data <data>
HTTP POST方式傳送資料
- 參數清單這裡使用的json格式的資料傳輸,注意使用JSON格式的傳遞參數需要指定頭資訊
Content-Type ,使用參數 -- header或者-H
【案例分析】
但是這樣的通路是無法解析中文的
這裡傳入中文的參數,在輸出的時候會以GBK的形式進行編譯,是以無法通路,如果需要解決,可以将編碼格式轉化成UTF-8。
傳入JSON格式的參數
curl -H "Content-Type:application/json" -X POST --data '{\"user\": \"admin\",\"passwd\":\"12345678\"}'
使用CURL指令的時候
注意:
,遇到單雙引号嵌套的時候,需要使用
預設是不識别雙引号
\反斜杠進行轉義
2.1.2 Curl如何指定标頭Reference
方式一:-H / --header
-H 或者–header也可以通過指定标頭名為Reference設定值為指定的值
curl -H 'Referer: https://google.com?q=example' https://www.example.com
curl --header 'Referer: https://google.com?q=example'
确切的說-H是添加标頭
方式二: -e
-e 參數用來設定 HTTP 的标頭Referer,表示請求的來源。
curl -e 'https://google.com?q=example'
2.1.3 Curl如何列印标頭資訊
-i
-i 會先列印标頭資訊,然後空一行,在地下列印網頁的源碼
【示例】
curl
一般多用于爬取網頁相關的資料資訊,分析網頁源碼等使用。