介面測試實戰 GET POST 請求區別詳解

2022-09-18 18:06:11 字數 2485 閱讀 9654

這兩種請求方式。深度掌握這兩種請求方式的原理以及異同之處,也是之後做介面測試乙個重要基礎。

請求行的 method 不同;

post 可以附加 body,可以支援 form、json、xml、binary等各種資料格式;

從行業通用規範的角度來說,無狀態變化的建議使用 get 請求,資料的寫入與狀態建議用 post 請求;

為了避免其他因素的干擾,使用 flask 編寫乙個簡單的 demo server。

安裝flask

pip install flask
建立乙個 hello.py 檔案

hello.py

from flask import flask, request  

def hello_world():

return 'hello, world!'

def hellp():

#拿到request引數

query = request.args

#el request form

post = request.form

#分別列印拿到的引數和form

return f"query: \n"\

f"post: "

啟動服務

flask run

提示下面資訊則表示搭建成功。

* environment: production

warning: do not use the development server in a production environment. use a production wsgi server instead.

* debug mode: off

* running on (press ctrl+c to quit)

發起 get 請求,a、b引數放入 url 中傳送,並儲存在 get 檔案中:

curl 'request?a=1&b=2' -v -s &>get
發起 post 請求,a、b引數以 form-data格式傳送,並儲存在post 檔案中:

curl 'request?' -d "a=1&b=2" -v -s &>post
注意:>的右邊為請求內容,<左邊為響應內容。

get 請求過程

post: immutablemultidict([('c', '3'), ('d', '4')])對兩個檔案進行對比:

從圖中可以清楚看到 get 請求的 method 為 get,post 請求的 method 為 post,此外,get 請求沒有 content-type

以及 content-length 這兩個字段,而請求行中的 url 帶有 query 引數,是兩種請求都允許的格式。(end)

jmeter 簡單的介面測試(GET POST)

最近在學習介面測試,本文就簡單的談一談對介面相關知識的理解。一 什麼是介面?二 常見的http請求 get post http協議的介面中最常見的就是get post請求。以前我理解的 get請求 就是拿東西 post請求 就是給東西。但是認真了解了之後才發現,其實get post都可以實現接受和傳...

GET POST請求區別

get和post的區別主要有以下幾方面 1 url可見性 get,引數url可見 post,url引數不可見 2 資料傳輸 get,通過拼接url進行傳遞引數 post,通過body體傳輸引數 3 快取性 get請求是可以快取的 post請求不可以快取 4 後退頁面的反應 get請求頁面後退時,不產...

JMeter介面測試實戰 介面分析

假設測試乙個建立使用者介面,資訊如下 名稱說明 請求位址 user create 請求方法 post 許可權必須是admin角色的使用者登入,才能建立使用者 協議json 請求引數 name 不能為空,不能重複,長度4 20的字母或數字組合 role 不能為空,且必須為admin 或 normal ...