写在前面: 我是
「软测小刘
」,这个昵称来源于我的生活,对测试保持激情,敢于探索 细心大胆。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。
这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。
用知识改变命运,让我们的家人过上更好的生活。
今天我们一起来学习接口自动化的
第四章
文章目录
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工具安装
需要分别安装 Httpbin
与 guicorn
, guicorn
是一个 wsgi http
服务器,用来启动 Httpbin
服务。
pip install gunicorn
pip install httpbin
gunicorn httpbin:app
注意:这种方式在Windows系统下不能使用,报错 ImportError: No module named 'fcntl'
。(网上查的原因是fcntl模块在Windows环境下不被识别)
(2)本地安装 Httpbin
:
git clone https://github.com/Runscope/httpbin.git
pip install -e httpbin
python -m httpbin.core [--port=PORT] [--host=HOST]
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返回传入请求的请求头参数。/getGET请求的提交参数。/postPOST请求的提交参数。/patchPATCH请求的提交参数。/putPUT请求的提交参数。/deleteDELETE请求的提交参数。
举例:
(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
服务就是干什么用的?
就是用于查看我发出去的请求到底是什么样子的。你需要查看请求中的那部分信息,就调用什么样的接口即可。