1、什么是POST請求?
POST請求是HTPP協議中一種常用的請求方法,它的使用場景是向客戶端向服務器提交數據,比如登錄、注冊、添加等場景。另一種常用的請求方法是GET,它的使用場景是向服務器獲取數據。
2、POST請求提交數據的常見編碼格式
當前,POST請求提交數據的編碼方式有三種:
- application/x-www-form-urlencoded
- multipart/form-data
- application/json
2.1 application/x-www-form-urlencoded
這應該是最常見的POST提交數據的方式了。瀏覽器的原生form表單,如果不設置 enctype屬性,那么最終就會默認以application/x-www-form-urlencoded方式提交數據。這種情況下請求頭的Content-Type被設置成application/x-www-form-urlencoded,提交的數據按照 key1=value1&key2=value2的方式進行編碼,key和value都進行了URL轉碼。大部分服務端語言都對這種方式有很好的支持。很多時候,我們用Ajax提交數據時,也是使用這種方式。
示例:
什么是URL編碼?
是一種瀏覽器用來打包表單輸入的格式。瀏覽器從表單中獲取所有的name和其中的值 ,將它們以name/value參數編碼(移去那些不能傳送的字符,將數據排行等等)作為URL的一部分或者分離地發給服務器。
2.2 multipart/form-data
這也是一個常見的POST數據提交的方式,表示在發送前不對數據進行編碼,這種方式一般出現在通過form表單上傳文件的場景中,在HTML的form標簽中通過設置屬性enctype=multipart/form-data來表示通過這種方式提交數據。上面提到的這兩種POST數據的方式,都是瀏覽器原生支持的。各大服務端語言對它也有著良好的支持。
示例:
2.3 application/json
application/json 這個Content-Type作為響應頭大家肯定不陌生。實際上,現在越來越多的人把它作為請求頭,用來告訴服務端消息主體是序列化后的JSON字符串。由于JSON規范的流行,除了低版本IE之外的各大瀏覽器都原生支持JSON.stringify,服務端語言也都有處理JSON的函數,使用JSON不會遇上什么麻煩。
示例:
3、通過Postman實現三種請求
3.1 application/x-www-form-urlencoded的實現
選擇請求方法為POST,填入URL,在Body下選擇x-www-form-urlencoded,然后再填入參數和數據,如下:
3.2 multipart/form-data的實現
選擇請求方法為POST,填入URL,在Body下選擇form-data,然后填入參數和數據,如下:
3.3 application/json的實現
選擇請求方法為POST,填入URL,在Body下選擇Raw->JSON,然后填入JSON格式的數據,如下:
以上就是通過Postman實現三種不同方式提交數據的Post請求的具體方法。
同時,在這我為大家準備了一份軟件測試視頻教程(含面試、接口、自動化、性能測試等),就在下方,需要的可以直接去觀看。
【2025最新版】字節大牛講的最全最細的自動化測試全套教程!永久白嫖,拿走不謝,全程干貨無廢話!逼自己15天內學完,從軟件測試基礎到項目實戰一套全通關!