技術(shù)分享 | 實戰(zhàn)詳解接口測試請求方式Get盟劫、post

技術(shù)分享 | 實戰(zhàn)詳解接口測試請求方式Get矾瑰、post

原文鏈接

本文節(jié)選自霍格沃茲測試開發(fā)學社內(nèi)部教材

在日常的工作當中瑰谜,http 請求中使用最多的就是 GET 和 POST 這兩種請求方式执解。那么掌握這兩種請求方式的原理,以及兩種請求方式的異同哲身,也是之后做接口測試一個重要基礎(chǔ)辩涝。

GET、POST的區(qū)別總結(jié)

1勘天、請求方法不同

2怔揩、post 可以附加 body,可以支持 form脯丝、json商膊、xml、binary 等各種數(shù)據(jù)格式

3宠进、從行業(yè)通用規(guī)范的角度來說晕拆,如果對數(shù)據(jù)庫不會產(chǎn)生數(shù)據(jù)變化的,比如查詢操作材蹬,建議使用 GET 請求实幕,數(shù)據(jù)的寫入與狀態(tài)建議用 POST 請求

4、

演示環(huán)境搭建

為了避免其他因素的干擾堤器,使用 flask 編寫一個簡單的 demo server昆庇。

1、安裝 flask

pip install flask
  1. 創(chuàng)建一個 hello.py 文件
from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

@app.route("/request", methods=['POST', 'GET'])
def hellp():
    #拿到request參數(shù)
    query = request.args
    #拿到request form
    post = request.form
    #分別打印拿到的參數(shù)和form
    return f"query: {query}\n"\
           f"post: {post}"
  1. 啟動服務
export FLASK_APP=hello.py
flask run

提示下面信息則表示搭建成功

 * Serving Flask app "hello.py"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

cURL命令發(fā)起GET、POST請求

發(fā)起 GET 請求,a赋朦、b 參數(shù)放入 URL 中發(fā)送,并保存在 get 文件中

curl 'http://127.0.0.1:5000/request?a=1&b=2' -v -s &>get

發(fā)起 POST 請求表蝙,a、b 參數(shù)以 form-data 格式發(fā)送乓旗,并保存在 post 文件中

 curl 'http://127.0.0.1:5000/request?' -d "a=1&b=2" -v -s &>post

注意:>的右邊為請求內(nèi)容府蛇,<右邊為響應內(nèi)容

GET 請求過程

*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> GET /request?a=1&b=2 HTTP/1.1
> Host: 127.0.0.1:5000
> User-Agent: curl/7.64.1
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 80
< Server: Werkzeug/0.14.1 Python/3.7.5
< Date: Wed, 01 Apr 2020 07:35:42 GMT
<
{ [80 bytes data]
* Closing connection 0
query: ImmutableMultiDict([('a', '1'), ('b', '2')])
post: ImmutableMultiDict([])

POST 請求過程

*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> POST /request?a=1&b=2 HTTP/1.1
> Host: 127.0.0.1:5000
> User-Agent: curl/7.64.1
> Accept: */*
> Content-Length: 7
> Content-Type: application/x-www-form-urlencoded
>
} [7 bytes data]
* upload completely sent off: 7 out of 7 bytes
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 102
< Server: Werkzeug/0.14.1 Python/3.7.5
< Date: Wed, 01 Apr 2020 08:15:08 GMT
<
{ [102 bytes data]
* Closing connection 0
query: ImmutableMultiDict([('a', '1'), ('b', '2')])
post: ImmutableMultiDict([('c', '3'), ('d', '4')])

對兩個文件進行對比:

[圖片上傳失敗...(image-235922-1658284662006)]

從圖中可以清楚看到 GET 請求的 method 為 GET,POST 請求的 method 為 POST寸齐,此外欲诺,GET 請求沒有 Content-Type 以及 Content-Length 這兩個字段抄谐,而請求行中的 URL 帶有 query 參數(shù)是兩種請求都允許的格式。

更多技術(shù)文章

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扰法,一起剝皮案震驚了整個濱河市蛹含,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌塞颁,老刑警劉巖浦箱,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異祠锣,居然都是意外死亡酷窥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門伴网,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蓬推,“玉大人,你說我怎么就攤上這事澡腾》蟹” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵动分,是天一觀的道長毅糟。 經(jīng)常有香客問我,道長澜公,這世上最難降的妖魔是什么姆另? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮坟乾,結(jié)果婚禮上迹辐,老公的妹妹穿的比我還像新娘。我一直安慰自己糊渊,他們只是感情好右核,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渺绒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菱鸥。 梳的紋絲不亂的頭發(fā)上宗兼,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機與錄音氮采,去河邊找鬼殷绍。 笑死,一個胖子當著我的面吹牛鹊漠,可吹牛的內(nèi)容都是我干的主到。 我是一名探鬼主播茶行,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼登钥!你這毒婦竟也來了畔师?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤牧牢,失蹤者是張志新(化名)和其女友劉穎看锉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塔鳍,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡伯铣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了轮纫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腔寡。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖掌唾,靈堂內(nèi)的尸體忽然破棺而出蹬蚁,到底是詐尸還是另有隱情,我是刑警寧澤郑兴,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布犀斋,位于F島的核電站,受9級特大地震影響情连,放射性物質(zhì)發(fā)生泄漏叽粹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一却舀、第九天 我趴在偏房一處隱蔽的房頂上張望虫几。 院中可真熱鬧,春花似錦挽拔、人聲如沸辆脸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啡氢。三九已至,卻和暖如春术裸,著一層夾襖步出監(jiān)牢的瞬間倘是,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工袭艺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留搀崭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓猾编,卻偏偏與公主長得像瘤睹,于是被迫代替她去往敵國和親升敲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容