天天看點

前後端程式員技能-CURL指令

前言

​CURL指令---接口測試之必要技能​

如果你經常需要和各種API打交道,我們都知道測試接口是一件非常枯燥的事情,我們需要頻繁的打開浏覽器,輸入URL,以此來檢測API的功能完整性,或者下載下傳各種測試工具。

❓有什麼方法可以即高效又快速的測試API呢

​今天所接觸的是一個可以幫助我們進行接口測試的工具--CURL指令​

一、Curl指令是什麼

Curl其實是一種用URL文法,它是一種傳輸資料工具,是通過指令來進行工作的。讓我們可以不需要浏覽器也可以發送指令,也可以傳輸資料等等給你功能。它支援跨平台的操做,可以在Windows,LInux,Unix等主流作業系統上進行操做。

二、基本文法

curl      

例如我們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

前後端程式員技能-CURL指令

【發送post請求文法】

curl -X POST url -d {參數清單}      
  • ​-d/--data <data> ​

    ​​ ​

    ​HTTP POST方式傳送資料​

  • 參數清單這裡使用的json格式的資料傳輸,注意使用JSON格式的傳遞參數需要指定頭資訊​

    ​Content-Type ,使用參數 -- header或者-H​

【案例分析】

前後端程式員技能-CURL指令

但是這樣的通路是無法解析中文的

前後端程式員技能-CURL指令

這裡傳入中文的參數,在輸出的時候會以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      
前後端程式員技能-CURL指令
一般多用于爬取網頁相關的資料資訊,分析網頁源碼等使用。

-I

繼續閱讀