1. 程式人生 > >Postman使用手冊1——匯入匯出和傳送請求檢視響應

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,要遵循下面這些步驟:

  1. 獲取 authorization URL, 從你的API提供者那裡訪問 token URL、 client ID 和 client secret。你可以設定一些API需要的引數範圍來設定你再API中的訪問級別。
  2. 按下 Request Token 按鈕來啟動OAuth 2.0 flow。如果一切設定正確,你將會被重定向到Postman的伺服器,他將獲取你的access token 並且傳送到Postman的app,這樣就給Postman添加了token,給他設定一個name,讓你在以後可以快速的訪問

OAuth 2.0設定.png
  1. 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:

  1. 啟動攔截器

interceptor_cookies_1.png
  1. 在測試部分,你可以使用responseCookies物件,他將返回一個cookie物件的陣列。使用postman.getResponseCookie(cookieName)檢索cookie特定的名稱。他將返回一個單獨的cookie物件。
    每個cookie都會包含下面這些屬性:
    domain、 hostOnly、httpOnly、 name,、path、 secure、 session、 storeId、 value

設定cookie:

  1. 確保打開了攔截器

  2. 在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的時候可以同步自己的資料。
你可以強制同步或者禁用他。