1. 程式人生 > 其它 >postman教程-之四種常見介面請求

postman教程-之四種常見介面請求

在Postman的body的型別主要由四種類型的引數: form-data、x-www-form-urlencoded、raw、binary,如圖

 由於post請求的引數才放到請求體(Body)裡面,get的請求引數一般都直接跟在url後面,所以這裡Body裡面引數都是指的post請求引數,那post請求測試時怎麼判斷選擇哪個格式的來發送引數呢

1. form-data(multipart/form-data),支援上傳檔案的表單型別:

form-data對應著http請求中的Content-Type=multipart/form-data, 一般在表單中如果需要進行檔案上傳時,就需要使用該格式。

它會將表單的資料處理為一條訊息,以標籤為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳檔案File。當上傳的欄位是檔案時,會有Content-Type來說明檔案型別;content-disposition用來說明一些欄位資訊;

由於有boundary隔離,所以multipart/form-data既可以上傳檔案,也可以上傳鍵值對,它採用了鍵值對的方式,所以可以上傳多個檔案

      下圖是fiddler抓包得到的某系統一個更新頭像的介面,在這裡我們可以看到Content-Type: multipart/form-data; boundary=---------------------------21317247322879,所以提交的引數檔案是以分隔符---------------------------21317247322879來隔開的,以

-----------------------------21317247322879-----來結束的

 

 

如圖所示,postman裡面對該介面進行測試時引數Body裡面選擇的就是form-data格式

 

 

 

2. x-www-form-urlencoded,表單型別的介面請求:

對應著http請求中的Content-Type為application/x-www-from-urlencoded,會將表單內的資料轉換為鍵值對,比如,name=python&age = 22,這種方式只能以鍵值對形式傳送引數,一般如果不指定content-type,預設便是application/x-www-form-urlencoded,

如b站的註冊介面採用的就是這種方式傳送訊息,如下圖,通過抓包獲取到Content-Type為application/x-www-from-urlencoded,引數資料就是以鍵值對的形式傳送的

 

 則介面測試時選擇引數型別為x-www-from-urlencoded,如下所示

 

 

3. raw(支援各種原生的型別,JSON型別的介面請求),如:Content-Type=application/json時,則可以使用這種方式,這個是實際介面測試中,使用到最多的方式了。越來越多的人把它作為請求頭,用來告訴服務端訊息主體是序列化後的 JSON 字串

他是可以上傳任意格式的引數,可以上傳text、json、xml、html、js

 

如圖某系統登入介面的就是以application/json格式提交引數

 

 所以postman裡面進行介面測試時Body就是選擇raw下面的json格式

 

 

4. binary(二進位制,流型別的介面請求 ):對應著http請求中的Content-Type:application/octet-stream,只可以上傳二進位制資料,通常用來上傳檔案,由於沒有鍵值,所以,一次只能上傳一個檔案