接口自动化之Httpbin

在这里插入图片描述

写在前面: 我是 「软测小刘」,这个昵称来源于我的生活,对测试保持激情,敢于探索 细心大胆。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。
这博客是对自己学习的一点点总结及记录,如果您对 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工具安装

需要分别安装 Httpbinguicornguicorn是一个 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服务就是干什么用的?

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值