Postman使用手冊1——匯入匯出和傳送請求檢視響應
導讀:
現在的web和移動開發,常常會呼叫伺服器提供restful介面進行資料請求,為了除錯,一般會先用工具進行測試,通過測試後才開始在開發中使用。這裡介紹一下如何在chrome瀏覽器利用postman應用進行restful api介面請求測試。
一、匯入匯出打包的應用
在Postman中匯入匯出我們的 測試資料包 和 工作環境 非常的方便:
匯出資料包:
匯出資料包.png
匯出工作環境:
匯出工作環境 1.png
匯出工作環境 2.png
匯入資料包:
匯入資料包.png
匯入工作環境:
匯入工作環境.png
二、傳送請求和檢視響應
1.傳送請求
Postman的介面分為 左邊的側邊欄 和 右邊的請求構建器 兩部分。請求構建器允許你可以快速的建立幾乎任何型別的請求。一個HTTP請求的四部分:URL、Method、Headers、Body,在Postman中都可以設定。
介面分佈.png
URL:
在你構建request請求的時候,首先要設定的就是URL。在URL輸入框中輸入你請求的連結,你可以單擊Params按鈕,在編輯器中輸入key-value格式的URL引數。
在URL位址列中的輸入和編輯器中輸入的key-value引數,不會自動的編碼為 URL-encoded,選中要編碼的文字,右鍵選擇EncodeURIComponent
,手動編碼引數值。
URL設定.png
手動編碼.png
你可以單獨的新增引數,Postman會自動的把他和URL整合到一起,如果你從其他的地方貼上了URL過來,Postman也會自動的把 Params中的引數進行設定。
一些API端點使用路徑變數,你可以在Postman中設定,他們位於兩個 /
中,樣式如下:
URL變數樣式.png
如果你要設定他,單擊Params按鈕,你會發現key部分已被自動設定好了,根據需要填寫value部分就行。
Headers:
單擊Headers切換按鈕,你可以在key-value編輯器中設定任何字串作為header的名稱。
編輯headers.png
受限的headers和cookies
不幸的是一些headers收到Chrome和XMLHttpRequest規範的限制,以下headers被遮蔽:
Accept-Charset
Accept-Encoding
Access-Control-Request-Headers
Access-Control-Request-Method
Connection
Content-Length
Cookie
Cookie 2
Content-Transfer-Encoding
Date
Expect
Host
Keep-Alive
Origin
Referer
TE
Trailer
Transfer-Encoding
Upgrade
User-Agent
Via
從Postman v0.9.6版本開始,我們可以使用攔截器來發送這些受限的headers:
攔截器.png
安裝完成後點選切換就可以使用這些headers傳送請求了。
headers預設
你可以儲存常用的headers在headr prest裡面:
headers預設.png
Method:
單擊HTTP的請求方法按鈕,在給出的下拉選單中選擇使用的方法即可,對應的方法需要body的,body部分便被設定為可填寫。
Method設定.png
body部分編輯:
當我們傳送請求需要填寫body部分時,Postman幾乎可以讓我們傳送任何型別的HTTP請求。body編輯器分為4個部分:
form-data
form-data.png
form-data是web表單預設的傳輸格式,編輯器允許你通過設定key-value形式的資料來模擬填充表單。你可以在最後的選項中選擇新增檔案。
urlencoded
urlencoded.png
這個編碼格式同樣可以通過設定key-value的方式作為URL的引數。
raw
raw.png
一個raw請求可以包含任何內容。在這裡你可以設定我們常用的JSON 和 XML資料格式。
二進位制
二進位制.png
在這裡你可以傳送視訊、音訊、文字等檔案。
2.處理響應
Postman的響應檢視器允許你方便的檢視API的響應是否正確。
一個API響應器包括Body、Headers、status code三部分。Body 和 Headers在不同的選項卡中,status code在收到響應時在標籤行的最右邊顯示。
儲存響應內容
儲存響應內容.png
如果你在收藏夾中儲存了request請求,你可以在請求收到的對應的響應中單擊save按鈕,指定一個response的名字,來儲存對應額response。一個request對應的所有的response都是有效的。
當我們要檢視我們儲存的response的時候,只需要點選我們的傳送的request選擇我們要檢視的response即可:
response.png
檢視響應
Postman的body標籤中有三種檢視方式:Pretty、Raw、Preview
Pretty:
pretty.png
Pretty方式,可以讓JSON 和 XML的響應內容顯示的更美觀規整。
Raw:
raw顯示.png
顯示最原始的資料,可以幫助你判斷是否minified
Preview:
preview.png
可以幫你把HTML頁面自動解析顯示出來。
Headers
headrs.png
這裡顯示了一些鍵值對,表示了HTTP請求中header中的資訊。
Cookies
Postman v0.8.x 版本可以顯示瀏覽器的cookie。
3.身份驗證
Basic Auth
基本認證.png
輸入使用者名稱和密碼,點選 Update Request 生成 authorization header
Digest Auth
DigestAuth.png
Digest auth 比 Digest auth 更加複雜,使用當前request中的設定來生成authorization header,請確保在生成前你的設定的正確性。
OAuth 1.0
OAuth1.png
Postman的OAuth1.0工具讓你可以生成支援OAuth1.0身份認證的請求,目前他不能獲取access token。
OAuth 2.0
OAuth 2.0.png
Postman支援獲取OAuth 2.0 token,並且可以非常簡單的新增到request中。
從OAuth 2.0中獲取access token,要遵循下面這些步驟:
- 獲取 authorization URL, 從你的API提供者那裡訪問 token URL、 client ID 和 client secret。你可以設定一些API需要的引數範圍來設定你再API中的訪問級別。
- 按下 Request Token 按鈕來啟動OAuth 2.0 flow。如果一切設定正確,你將會被重定向到Postman的伺服器,他將獲取你的access token 並且傳送到Postman的app,這樣就給Postman添加了token,給他設定一個name,讓你在以後可以快速的訪問
OAuth 2.0設定.png
- access token將被儲存在本地,顯示在幫助列表。點選token名稱,就可以把它新增到request中。
4.Requests History
所有你使用Postman傳送的request都將儲存在左側邊欄的History中,他會幫助你通過嘗試不同的request來生成一個新的request,而不必浪費你太多的時間。你可以通過單擊一個request的名字來載入他。
history.png
如果你建立了Postman的賬戶,你的歷史資料將被同步到Postman的伺服器,你可以在不同的平臺上使用Postman的時候同步你的資料。
5.使用tab來控制多個請求
很多使用者可能需要同時開啟多個請求,你傳送的request將被保持在當前的標籤中,當你切換到其他的標籤時,不用擔心不能及時的接受response。
tabs.png
6.使用攔截器來讀寫cookie
和Mac上的應用不同,Chrome的應用本身並不支援獲取cookie,你可以使用攔截器來實現這個功能。開啟攔截器的時候,你可以檢索特定域中的cookie,併發送包含cookie的request。
檢索cookie:
- 啟動攔截器
interceptor_cookies_1.png
- 在測試部分,你可以使用responseCookies物件,他將返回一個cookie物件的陣列。使用postman.getResponseCookie(cookieName)檢索cookie特定的名稱。他將返回一個單獨的cookie物件。
每個cookie都會包含下面這些屬性:
domain、 hostOnly、httpOnly、 name,、path、 secure、 session、 storeId、 value
設定cookie:
-
確保打開了攔截器
-
在headers部分包含cookie的頭
例如:Cookie: name=value; name2=value2
3.傳送request,你設定的cookie將會和你的request一起傳送。
7.捕捉request
現在Postman的攔截器可以從Chrome瀏覽器直接捕捉request,並儲存到歷史中。這意味著你可以及時的除錯你的web應用的api。這裡不需要安裝或者配置代理,也不需要更改程式碼。你可以根據基於URL的正則表示式過濾request。
8.設定檔案
你可以在Postman的設定中處理重定向
settings.png
重定向設定.png
General
- Trim keys and values in request body
如果你使用表單資料或者URL編碼模式來發送資料到伺服器,這項設為true後就引起所有引數修整。
- Send no-cache header
你可能想要這項設定為true,這會確保你收到及時重新整理的response。
- Send postman-token header
這主要是用來繞過Chrome的一個bug。如果一個XMLHttpRequest 處於等待狀態,另一個request 傳送了同樣的引數,Chrome將會為兩個request返回同樣的response。傳送一個隨機的token將會避免這個問題。這同樣也會幫助你區分伺服器端的request。
- XHR Timeout(ms)
設定app等待響應的時間,如果伺服器沒有響應的話。
- Automatically follow redirects
防止我們的request返回一個300系列的response被自動重定向。你需要安裝攔截器來防止重定向。
- Open history/collection requests in a new tab
設定為 true,當你點選左側邊欄歷史或者收藏裡面的request時,會在一個新的tab中開啟。
設定為false,則會在當前tab中開啟。
- Response Font Size
設定response檢視中的字型大小
- UI Size
設定UI的大小
- Retain headers on clicking on links
如果你在response中你點選了一個連線,Postman會為這個URL建立一個新的GET request。如果你想要保留headers 在request之前設定他,就設定為true。當你主要方為一些受保護的資源的時候這個功能將會非常有用。
- Language detection
如果你測試的API沒有在header中返回 Content-Type ,則response不會資料轉換成合適的格式。你可以強制指定body的資料型別為JSON等格式。
- Variable delimiter
變數是儲存在雙花括號中的,但是你可以改變成其他的字元,這項並不推薦設定除非你出現了問題需要更改這裡。
- Force windows line endings
- Instant dialog boxes
禁用 eye-candy 並立即顯示所有的對框框模式
- Send anonymous usage data to Postman
來禁止匿名使用者使用資料的選項,這是的Postman的保護性更好。
Theme
選擇你喜歡的兩種主題風格
Shortcuts
設定常用的快捷鍵
Data
匯入匯出我們設定的環境和資料,這回覆蓋你現在的收藏和環境,所以小心使用。當然你可以把你現在的環境先匯出作為備份。
Add-ons
Sync
如果你登入了Postman,你的資料就會被同步更新到Postman的伺服器上,者可以確保你再次使用Postman的時候可以同步自己的資料。
你可以強制同步或者禁用他。