本文共 2747 字,大约阅读时间需要 9 分钟。
Httpbin是使用Python + Flask语言编写的一个HTTP Request & Response Service的简单服务,主要用于测试HTTP请求。它支持HTTP/HTTPS请求,所有HTTP动词都能测试,能够获取请求和响应的各种信息,如cookie、ip、headers以及登录验证等。还能模拟302跳转,返回HTML、XML或图片文件(支持指定格式)。
Httpbin通常部署在国外,考虑到访问问题,可以在本地搭建。这样可以在不与外部服务器交互的情况下进行HTTP业务调试。
需要安装Httpbin和gunicorn(一个WSGI HTTP服务器)。步骤如下:
# 进入cmd命令行,执行如下命令:# 安装Httpbin与gunicornpip install gunicornpip install httpbin# 启动服务gunicorn httpbin:app
注意:这种方式在Windows系统下不能使用,会报错ImportError: No module named 'fcntl'。原因是fcntl模块在Windows环境下不被识别。
git clone https://github.com/Runscope/httpbin.git
pip install -e httpbin
python -m httpbin.core [--port=PORT] [--host=HOST]
例如:访问地址为http://127.0.0.1:9999/get
在Linux系统中,通常使用Docker部署Httpbin服务,操作简单方便。
docker pull kennethreitz/httpbin:latest
docker run -p 80:80 kennethreitz/httpbin
可以后台运行:
docker run -d -p 9999:80 kennethreitz/httpbin
访问地址为http://192.168.134.129(Linux服务器或虚拟机IP地址)。
Httpbin的使用方法简单,只需将请求地址修改为httpbin.org即可。例如:
http://httpbin.org/gethttp://127.0.0.1:9999/请求路径访问地址:
http://127.0.0.1:9999/http://httpbin.org/#/页面中每个选项都可以点击,显示接口说明。
| Endpoint | Description |
|---|---|
| /ip | 返回请求者的IP地址 |
| /user-agent | 返回传入请求的User-Agent参数 |
| /headers | 返回传入请求的请求头参数 |
| /get | GET请求的提交参数 |
| /post | POST请求的提交参数 |
| /patch | PATCH请求的提交参数 |
| /put | PUT请求的提交参数 |
| /delete | DELETE请求的提交参数 |
# 调用接口: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" }} # 调用接口:https://httpbin.org/ip{ "origin": "106.35.9.12"} # 调用接口: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服务的作用就是查看你发送的请求到底是什么样子的。你需要查看哪一部分信息,就调用相应的接口即可。
转载地址:http://zcvez.baihongyu.com/