接口测试 — Httpbin介绍(请求调试工具)

1、Httpbin介绍

Httpbin是一个使用Python + Flask编写的HTTP Request & Response Service,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。
Httpbin支持HTTP/HTTPS请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等。能模拟302跳转乃至302跳转的次数,还可以返回一个HTML文件或一个XML文件或一个图片文件(还支持指定返回图片的格式)。
Httpbin官方网站:http://httpbin.org/
Httpbin开源地址:https://github.com/postmanlabs/httpbin

2、Httpbin部署

Httpbin是部署在国外的,考虑到有时无法访问的情况,也是可以自己在本地搭建部署,非常简单。
这样自己部署Httpbin的方式,可以不用和外部的服务器交互就可以进行Http业务调试。
(1)通过pip工具安装
需要分别安装Httpbinguicornguicorn是一个wsgi http服务器,用来启动Httpbin服务。

# 进入cmd命令行,执行如下命令:
# 安装Httpbin与guicorn
pip install gunicorn
pip install httpbin

# 执行如下命令启动服务:
gunicorn httpbin:app  

注意:这种方式在Windows系统下不能使用,报错ImportError: No module named 'fcntl'。(网上查的原因是fcntl模块在Windows环境下不被识别)
(2)本地安装Httpbin

# 从github上克隆Httpbin到本地
# 会直接克隆到cmd命令的当前目录下,如C:\Users\L>下执行的命令。
git clone https://github.com/Runscope/httpbin.git

# 安装httpbin命令
pip install -e httpbin

# 启动httpbin服务命令
python -m httpbin.core [--port=PORT] [--host=HOST]
# 例如:访问方位为:http://127.0.0.1:9999/get
python -m httpbin.core --port=9999

亲测:在Windows系统下,这种方式能在本地正常启动Httpbin服务。

3、Httpbin访问方式

Httpbin的使用方法非常简单,你只需要把请求的地址修改为httpbin.org即可。
比如:GET请求:http://httpbin.org/get
如果使用本地部署的Httpbin服务,访问:http://127.0.0.1:[自己设置的端口号]
(请看上边第2点)

4、Httpbin常用调试接口

访问:http://httpbin.org/#/或者本地Httpbin`服务http://127.0.0.1:9999/,就会出现如下界面。
页面中每个选项都可以点开,里边有对应的接口说明。

常用接口列表:

EndpointDescirption
/ip 返回请求者的IP地址。
/user-agent 返回传入请求的User-Agent参数。
/headers 返回传入请求的请求头参数。
/get GET请求的提交参数。
/post POST请求的提交参数。
/patch PATCH请求的提交参数。
/put PUT请求的提交参数。
/delete DELETE请求的提交参数。

举例:
(1)返回headers信息

# 调用接口: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地址

# 调用接口:https://httpbin.org/ip
{
  "origin": "106.35.9.12"
}

(3)返回GET请求的详细信息

# 调用接口: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服务POST如何使用,请看requests库POST请求的学习文章。

5、总结:

Httpbin服务就是干什么用的?
就是用于查看我发出去的请求到底是什么样子的。你需要查看请求中的那部分信息,就调用什么样的接口即可。

重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料在下方链接如下

 

免费领取更多资料:http://47.107.116.139/zhuoran/mf.php

https://zhuanlan.zhihu.com/p/521674857

 

posted @ 2022-10-06 20:26  奥兰王子  阅读(270)  评论(0编辑  收藏  举报