這兩種請求方式。深度掌握這兩種請求方式的原理以及異同之處,也是之後做介面測試乙個重要基礎。
請求行的 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 ...