『居善地』接口測試 — 6.Httpbin介紹(請(qǐng)求調(diào)試工具)

1、Httpbin介紹

Httpbin是一個(gè)使用Python + Flask編寫的HTTP Request & Response Service,該服務(wù)主要用于測試 HTTP庫,你可以向他發(fā)送請(qǐng)求,然后他會(huì)按照指定的規(guī)則將你的請(qǐng)求返回(查看你所發(fā)送請(qǐng)求中的信息)。

Httpbin支持HTTP/HTTPS請(qǐng)求,支持所有的HTTP動(dòng)詞,能測試HTTP請(qǐng)求和響應(yīng)的各種信息,比如 cookie、ip、headers 和登錄驗(yàn)證等。能模擬302跳轉(zhuǎn)乃至302跳轉(zhuǎn)的次數(shù),還可以返回一個(gè)HTML文件或一個(gè)XML文件或一個(gè)圖片文件(還支持指定返回圖片的格式)。

Httpbin官方網(wǎng)站:http://httpbin.org/

Httpbin開源地址:https://github.com/postmanlabs/httpbin

2、Httpbin部署

Httpbin是部署在國外的,考慮到有時(shí)無法訪問的情況,也是可以自己在本地搭建部署,非常簡單。

這樣自己部署Httpbin的方式,可以不用和外部的服務(wù)器交互就可以進(jìn)行Http業(yè)務(wù)調(diào)試。

(1)通過pip工具安裝

需要分別安裝Httpbinguicornguicorn是一個(gè)wsgi http服務(wù)器,用來啟動(dòng)Httpbin服務(wù)。

# 進(jìn)入cmd命令行,執(zhí)行如下命令:
# 安裝Httpbin與guicorn
pip install gunicorn
pip install httpbin

# 執(zhí)行如下命令啟動(dòng)服務(wù):
gunicorn httpbin:app  

注意:這種方式在Windows系統(tǒng)下不能使用,報(bào)錯(cuò)ImportError: No module named 'fcntl'。(網(wǎng)上查的原因是fcntl模塊在Windows環(huán)境下不被識(shí)別)

(2)本地安裝Httpbin

# 從github上克隆Httpbin到本地
# 會(huì)直接克隆到cmd命令的當(dāng)前目錄下,如C:\Users\L>下執(zhí)行的命令。
git clone https://github.com/Runscope/httpbin.git

# 安裝httpbin命令
pip install -e httpbin

# 啟動(dòng)httpbin服務(wù)命令
python -m httpbin.core [--port=PORT] [--host=HOST]
# 例如:訪問方位為:http://127.0.0.1:9999/get
python -m httpbin.core --port=9999

親測:在Windows系統(tǒng)下,這種方式能在本地正常啟動(dòng)Httpbin服務(wù)。

3、Httpbin訪問方式

Httpbin的使用方法非常簡單,你只需要把請(qǐng)求的地址修改為httpbin.org即可。

比如:GET請(qǐng)求:http://httpbin.org/get

如果使用本地部署的Httpbin服務(wù),訪問:http://127.0.0.1:[自己設(shè)置的端口號(hào)]

(請(qǐng)看上邊第2點(diǎn))

4、Httpbin常用調(diào)試接口

訪問:http://httpbin.org/#/或者本地Httpbin`服務(wù)http://127.0.0.1:9999/,就會(huì)出現(xiàn)如下界面。

頁面中每個(gè)選項(xiàng)都可以點(diǎn)開,里邊有對(duì)應(yīng)的接口說明。

常用接口列表:

Endpoint Descirption
/ip 返回請(qǐng)求者的IP地址。
/user-agent 返回傳入請(qǐng)求的User-Agent參數(shù)。
/headers 返回傳入請(qǐng)求的請(qǐng)求頭參數(shù)。
/get GET請(qǐng)求的提交參數(shù)。
/post POST請(qǐng)求的提交參數(shù)。
/patch PATCH請(qǐng)求的提交參數(shù)。
/put PUT請(qǐng)求的提交參數(shù)。
/delete DELETE請(qǐng)求的提交參數(shù)。

舉例:

(1)返回headers信息

# 調(diào)用接口:https://httpbin.org/headers
{
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate, br", 
    "Accept-Language": "zh-CN,zh;q=0.9", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36", 
    "X-Amzn-Trace-Id": "Root=1-5ff1a4f7-69a84fca0693b09e28d214b0"
  }
}

(2)返回你使用的訪問此鏈接的IP地址

# 調(diào)用接口:https://httpbin.org/ip
{
  "origin": "106.35.9.12"
}

(3)返回GET請(qǐng)求的詳細(xì)信息

# 調(diào)用接口:https://httpbin.org/get?department=1
{
  "args": {
    "department": "1"
  }, 
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate, br", 
    "Accept-Language": "zh-CN,zh;q=0.9", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4209.400", 
    "X-Amzn-Trace-Id": "Root=1-5ff1a59b-4e514a40023721d276ae07eb"
  }, 
  "origin": "106.35.9.12", 
  "url": "https://httpbin.org/get?department=1"
}

說明:如果需要看Httpbin服務(wù)POST如何使用,請(qǐng)看requests庫POST請(qǐng)求的學(xué)習(xí)文章。

5、總結(jié):

Httpbin服務(wù)就是干什么用的?

就是用于查看我發(fā)出去的請(qǐng)求到底是什么樣子的。你需要查看請(qǐng)求中的那部分信息,就調(diào)用什么樣的接口即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容