HTTP Client
是 Jetbrains
系列軟件中自帶的 HTTP
請求工具,不過只在 Professional
版本纔有這個功能,我平時開發使用的是 Pycharm 2018.3
。在 VS Code
中有相同功能的插件 REST Client
. 如下的內容所有來自 官方教程,不過是英文的,有能力能夠直接看文檔,這裏根據本身的理解從簡單到複雜梳理官方教程的經常使用功能.html
建立請求腳本,跟建立一個 Python
文件同樣,在須要建立的文件夾 右擊 | New | HTTP Request
便可,通常在最下方,請求腳本是一個以 http
爲擴展名的文件.web
建立好腳本之後,會有一些註釋告訴你可使用模板快速生成請求,這裏能夠先忽略,下面來講請求語法.json
Method Request-URI HTTP-Version
Header-field: Header-value
Request-Body
複製代碼
語法很簡單,就是 HTTP
請求的基本概念,按順序分別是 請求方法、請求地址、HTTP版本、請求頭、請求體
. 其中 HTTP-Version
通常省略不寫,若是必定要寫,按照 HTTP/*.*
格式就好. 請求頭
、請求體
沒有也能夠不寫,因此一個最簡單的請求應該是這樣的:api
點擊左側的 箭頭
就能夠發出請求,請求的結果會輸出在下方. 在腳本中, 註釋能夠用 #
或者 //
表示,若是想在一個腳本文件中編寫多個請求,可使用 ###
進行分割.restful
瞭解語法以後就可使用新建文件時註釋中的快速生成模板了,Tab
鍵自動生成.app
gtr[p]
: 獲取 json
格式數據,p
會自動生成參數ptr[p]
: 上傳 json
數據,p
會自動生成參數
json
須要在請求體編寫數據,注意使用 雙引號mptr | fptr
: 提交一個文本或文件表單
< filepath
指定 文件路徑
, 這裏使用相對路徑便可.當你在編寫請求的時候,可使用 環境變量
將一些字段參數化,例如 使用 {{ host }}
佔位符表示 主機地址
,當發起請求的時候,會讓你選擇是使用 生產環境
仍是 開發環境
, 以後從選擇的環境中讀取指定字段的值.工具
環境變量經過名爲 http-client.env.json
的配置文件完成,配置文件建立在請求腳本的同級目錄,鍵
表示 環境
,值
表示環境變量,這裏使用 development
、 production
分別表示 開發環境
和 生產環境
,若是有多個環境,直接增長 鍵
便可,示例以下:測試
{
"development": {
"host": "localhost",
"id-value": 12345,
"username": "dev_username",
"password": "dev_password",
"my-var": "my-dev-value"
},
"production": {
"host": "example.com",
"id-value": 6789,
"username": "pro_username",
"password": "pro_password",
"my-var": "my-prod-value"
}
}
複製代碼
構建請求的時候就能夠這樣:spa
GET http://{{host}}/api/json/get?id={{id-value}}&key={{unresolved_var}}
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
{
"key": {{my-var}}
}
複製代碼
點擊左邊箭頭執行,就會讓你選擇是使用什麼環境發送請求. 若是一個環境變量沒有找到,好比上面的 {{unresolved_var}}
,將會被做爲 原始字符
發送.插件
在一個請求中可使用環境變量佔位符的部分爲:
地址
、端口
、路徑
參數
或 值
請求頭
請求體
或者 外部文件
經過上面這些,已經能夠完成經常使用的請求發送了,官方也提供了一些示例進行參考,在 請求文件
右上角,將鼠標移過去就會顯示出來,左邊是 請求歷史
,右邊
是 請求示例
:
這裏只是列了經常使用用法,具體細節仍是要看 文檔. HTTP Client
一樣可使用 JavaScript ECMAScript 5.1
語法處理響應,例如對請求結果進行 斷言
等,這樣就能夠造成一個完整的接口測試,經過查看 響應API 瞭解更多.