Postman:API請求與響應

請求構建器

在"Builder"選項卡下,請求構建器允許快速創建任何類型的HTTP請求。HTTP請求的4個部分是Method、URL、Headers和Body

Postman提供了方便的工具來處理上述部分

Method

使用下拉菜單,更改請求方法非常簡單。請求體編輯器區域將根據方法的變化而變化。不同的請求方法的可編輯區域不同(如get方法時Body標籤置灰)

URL

1、URL是用戶爲請求設置的第一個內容

2、單擊"Params"按鈕會打開數據編輯器,用戶可以在數據編輯器中,輸入參數(也就是完整url中的Params參數),也可以單獨添加鍵值對

3、如果URL已經有參數了,例如:粘貼一個其他來源的URL時,Postman會自動將URL拆分爲鍵值對,並自動添加到"Params"的數據編輯區域中

注:
1、在URL欄或數據編輯器中輸入的參數不會自動進行URL編碼,可以手動選中文本,單擊鼠標右鍵,選擇"EncodeURLComponent",命令進行編碼

2、如果沒有指定任何協議,Postman將自動添加"http//:"到URL開頭

Headers

1、打開"Headers"選項卡將顯示Headers鍵值編輯器。用戶可以將任何字符串設置爲開頭名稱。

2、在輸入框中輸入文字時會匹配公共HTTP Headers Key的建議(自動彈出下拉選擇項,Value部分也是這樣)

Body

1、下面將藉助請求體編輯器來構建請求體。Postman允許用戶發送幾乎任何類型的HTTP請求5個區域,分別對應5種不同的請求體格式

2、當通過HTTP發送請求時,服務器可能會期望一個Content-Type頭。Content-Type頭允許服務器正確的解析主體對於form-data和Urlencoded的請求體類型,Postman會自動附加正確的內容類型頭部,這樣就不必進行設置了。但postman沒有爲binary類型的請求體設置任何頭類型

      ⑴None:這種表示無請求體

      ⑵form-data:
         1、form-data是web表單用來傳輸數據的默認編碼。這模擬了在網站上填寫表單並提交的一個過程。
         2、表單數據編輯器允許爲數據設置鍵值對,也可以把文件附件到一個鍵上

注:
1、由於HTML5規範的限制,文件不儲存在歷史和集合選項卡中,用戶需要在下一次發送請求時再次選擇該文件

2、postman不支持上傳多個文件、且每個文件都有自己的Content-type內容類型


     ⑶x-www-form-urlencoded:
      1、此編碼與URL參數中使用的編碼相同。只需要輸入鍵值對,Postman將正確的編碼鍵值對
      2、不能通過這邊編碼模式上傳文件。form-data和urlencoded之間可能會有一點混淆,所以務必先確定API到底使用哪種類型的請求體

    ⑷raw:
       1、raw類型請求體可以發送任何格式的文本數據,如Text、JSON、Javascript、XML、HTML等。一般用來發送JSON格式的請求體,可以自定義選擇raw請求體內容類型
       2、在編輯器中選擇文本並按"Ctrl+B"組合鍵可以自動美化XML或JSON的內容

    ⑸binary:
     1、binary類型請求體允許用戶發送不能輸入的內容,如圖像、音頻、視頻等文件以及文本文件
     2、正如form-data中提到的:如果通過歷史或集合選項卡加載請求則必須重新附加一個文件

 

Cookies

1、單擊"Send"按鈕右下方的"Cookie"鏈接,即可打開"MANAGE COOKIES"窗口,可以在這裏添加、刪除Domain和其對應的Cookies

2、Postman本地應用提供了一個管理cookies的模塊,可以讓用戶編輯與每個域關聯的cookies,"MANAGE COOKIES"窗口顯示了一個域列表和與之相關的Cookies

創建一個Cookies

要爲域添加一個新的Cookies,可以點擊"Add Cookies"按鈕。系統會根據HTTP狀態管理標準,創建一個預先生成的Cookies字符串,用戶可以在它下面的文本框中進行編輯。點擊"Save"保存按鈕可以將其保存到相關域的應用程序Cookies中

添加一個域

如果需要在域列表中添加一個新的域,可以在頂部的文本框中輸入主機名(沒有端口或http://),點擊"Add"按鈕就可以將其添加到域列表中,然後選擇該域併爲其添加Cookies


更新一個Cookies
若要更新現有的Cookies,可以選中需要更新的Cookies,點擊後悔彈出一個文本框,用戶就可以進行編輯更新了


API響應

1、發送完APOI請求後,如何確保API響應時正確的呢?藉助Postman Response Viewer可以很方便的查看請求響應的結果

2、API響應有Body、Cookies、Headers、Test Results以及狀態信息組成


Body

Body是請求響應的主體,Postman提供了三種視圖來查看響應主體,分別爲Pretty、Raw、Preview,其中Pretty爲默認方式,Pretty視圖格式化顯示Json或XML響應體,以方便查看
    ⑴Pretty視圖:在Pretty視圖內的鏈接會被高亮顯示,單擊它可以在POstman中加載一個鏈接URL的GET請求。對於一大段響應數據,三單擊左邊的三角形,可以摺疊大段響應。當選擇Pretty視圖查看響應結果時,還可以選擇其他數據展示類型
    ⑵Raw視圖:該視圖是以一個大文本區域的方式顯示響應主體
    ⑶Test Results:該選項卡展示該請求所有測試項的本次運行結果(測試項在請求中的Tests中添加)

注:

點擊"複製"按鈕可以複製響應體,點擊"搜索"按鈕可以彈出搜索框,可以在響應體中搜索關鍵字


保存響應

1、如果一個請求被保存在一個集合中,則可以保存請求對應的響應:響應返回後,點擊"Save Response"按鈕,輸入對應請求的名稱,在點擊"Save EXample"按鈕即可將響應保存成請求對應的示例

2、當再次請求時,爲請求保存的所有響應將作爲一個示例提供



同時選中多個請求

選中需要的請求時,按住"Ctrl"鍵可以同時選中多個請求,選中請求後用戶可以進行保存、共享、記錄、模擬、監視或刪除請求等操作

 

API請求排錯

有時API會出現不起作用的情況,或者表現出意外的情況。在出現錯誤的情況時Postman會顯示下圖

Postman控制檯裏面會產生錯誤的可能原因的詳細信息,使用postman控制檯後,可以大大減少排除故障的時間。在排除錯誤時,應該考慮以下問題

連接問題
如果postman無法連接到你的服務器,就會顯示上圖中的"Could not get any response"提示信息。一般檢查是否連接有問題最好的辦法就是在瀏覽器中輸入地址,查看在瀏覽器中是否能打開

使用不正確的協議
檢查正確的輸入的URL使用的是HTTP協議還是HTTPS協議,確保使用的協議是正確的

錯誤的請求URL
如果在請求中使用了變量,請確保該變量是在全局變量或當前環境變量中定義的。否則獲取不到請求變量,會引起服務器地址無效

防火牆問題
一些防火牆可能被配置成屏蔽非瀏覽器連接,這種情況下可以嘗試關閉防火牆,在查看postman能否正常工作

代理配置問題
如果正在使用代理服務器發出的請求,請保證正確的配置了它。Poastman控制檯可以提供關於代理服務器的調試信息

SSL證書的問題
當使用HTTPS連接,出現無法得到響應的情況,可以嘗試在Postman設置中關閉SSL驗證。如果關閉SSL校驗仍然無法解決問題,服務器可能正在使用客戶端SSL連接,這也可以在Postman設置中配置,使用postman控制檯確保將正確的SSL證書發送到了服務器

客戶端證書問題
服務器可能需要客戶端證書,用戶可以通過在postman設置中添加客戶端證書來解決這個問題

超時設置太短
如果在postman中配置了一個非常短的超時,當請求響應的時長超過設置的超時時間是,postman就會認爲未收到請求響應。因此可以嘗試增加超時時長來避免該問題

無效的響應
如果服務器發送不正確的響應,如編碼錯誤或無效的headers,postman將無法解析響應

 

日誌和排錯

如果API或API測試的行爲未達到預期的結果,可以打開控制檯查看請求日誌,只要控制檯是打開的,所有API活動都將被記錄在這裏

postman控制檯記錄一下信息
1、實際發出的請求,包括所有基本請求頭和變量值等

2、服務器在由postman處理之前發送的精確響應

3、用於請求的代理配置和證書

4、來自測試或預請求腳本的錯誤日誌

5、腳本中console.log()返回值

注:
在腳本中適當位置使用console.info()或console.warn()可以幫助用戶提取正在執行的代碼行

 

API授權、Cookies和證書

API授權

當發送請求時,通常會包括參數,以確保請求能夠訪問和返回所需的數據。Postman提供了授權類型,使用戶可以輕鬆的在postman本地應用程序中處理身份驗證協議

基本認證(Basic Auth)

在界面中輸入用戶名和密碼後,點擊"Preview Request"按鈕即可生成授權headers

 

摘要身份驗證

摘要身份認證比基本認證更加複雜,並使用當前在請求中設置的值來生成授權headers。在生成headers之前,應確保他們被正確設置。如果已經存在,postman將刪除現有的headers

注:

postman還支持其他授權方式,如OAuth等,只是用得比較少,就不介紹了


證書

Postman本地應用提供了一種查看和設置每個域的SSL證書的方法,要管理客戶端證書,可以在設置頁面中點擊"Certificates"選項卡


添加客戶端證書

要添加新的客戶端證書,可以單擊"Add Certificate"按鈕

1、在HOST字段中輸入要使用該證書的請求URL的域(注意:沒有協議,不需要輸入HTTP或HTTPS),例如postman-echo.com

2、還可以爲添加的HOST指定一個自定義端口,如果不輸入,將使用默認的HTTPS端口:443

3、在CRT file字段中選擇自己的客戶端證書,目前postman只支持CRT格式

4、在KEY file字段中選擇客戶端證書密鑰文件

注:
1、如果在生成客戶端證書時使用了Passphrase,那麼需要在Passphrase字段中提供密碼,否則保持空白即可

2、添加證書後,其會顯示在Certificates主頁面,如果要刪除證書,則可以點擊其旁邊的"Remove"按鈕即可

3、不要爲用一個域設置多個證書,如果有多個設置,則只有最後一個生效

4、證書創建後就不能再次編輯,如果要對其進行修改,則需要刪除證書在創建一個符合需要的新證書


使用證書

如果添加了客戶端證書,並向已配置的域發出請求,則該證書將隨請求自動發送,當然,前提是通過HTTPS發出請求。我們可以通過控制檯來查看自己的請求來確定是否發送成功發送了證書

 

備註:

在使用Postman構造請求提交表單時,也需要注意服務器接收的數據類型(跟Python中的requests模塊一樣),數據類型錯誤時,服務器可能不會正常解析

正確的請求

錯誤的請求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章