http测试工具:httpbin

官方网站:https://httpbin.org/或者:http://httpbin.org/
开源地址:https://github.com/Runscope/httpbin

用途:

httpbin.org 可以测试 HTTP 请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等,且支持 GET、POST 等多种方法。对 web 开发和测试很有帮助。

简单来说就是可以用于查看我们发送的http请求信息。你需要查看请求中的哪一部分信息,就调用对应接口即可查看。

网站介绍

httpbin 是一个使用 Python + Flask 编写的 HTTP HTTP Request & Response Service。,是一个开源项目。

主要用于测试 HTTP 库。

你可以向他发送请求,然后他会按照指定的规则将你的请求返回。

httpbin支持HTTP/HTTPS,支持所有的HTTP动词,能模拟302跳转乃至302跳转的次数,还可以返回一个HTML文件或一个XML文件或一个图片文件(还支持指定返回图片的格式)。

httpbin.org网站首页截图

Httpbin访问方式

Httpbin的使用方法非常简单,你只需要把请求的地址修改为httpbin.org即可。

例如GET请求:http://httpbin.org/get。

如果使用本地部署 (本地部署请接着往下看) 的Httpbin服务,访问:http://127.0.0.1:[自己设置的端口号]/请求路径

页面中每个选项都可以点开,里边有对应的接口说明。

Httpbin接口调试

常用接口地址:

  • get请求网址:https://httpbin.org/get
  • post请求网址:https://httpbin.org/post
  • put请求网址:https://httpbin.org/put
  • patch请求网址:https://httpbin.org/patch
  • delete请求网址:https://httpbin.org/delete
  • 返回headers信息:https://httpbin.org/headers
  • 返回你使用的访问此链接的IP地址:https://httpbin.org/ip
  • 返回USER-AGENT信息:https://httpbin.org/user-agent

本地部署httpbin

httpbin.org是部署在国外的,由于国内网络特殊环境(墙),可能会出现无法访问或者访问很慢的情况,

我们可以自己在本地搭建部署 httpbin ,可以不用和外部的服务器交互就可以进行HTTP业务的调试。

在Windows系统中部署Httpbin服务

(1)通过pip工具安装

需要分别安装Httpbin与guicorn,guicorn是一个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服务。

在Linux系统中部署Httpbin服务

Linux系统中我们通常使用Docker的方式部署Httpbin服务,这样非常的方便简单。

一共只有两步就可以完成:

第一,拉取镜像;

第二,启动镜像。

(1)拉取Httpbin服务的Docker镜像到本地

[root@localhost ~]# docker pull kennethreitz/httpbin
Using default tag: latest
latest: Pulling from kennethreitz/httpbin
473ede7ed136: Pull complete 
c46b5fa4d940: Pull complete 
93ae3df89c92: Pull complete 
6b1eed27cade: Pull complete 
0373952b589d: Pull complete 
7b82cd0ee527: Pull complete 
a36b2d884a89: Pull complete 
Digest: sha256:599fe5e5073102dbb0ee3dbb65f049dab44fa9fc251f6835c9990f8fb196a72b
Status: Downloaded newer image for kennethreitz/httpbin:latest
docker.io/kennethreitz/httpbin:latest

(2)启动本地Httpbin服务的Docker镜像

[root@localhost ~]# docker run -p 80:80 kennethreitz/httpbin
[2021-05-20 02:13:00 +0000] [1] [INFO] Starting gunicorn 19.9.0
[2021-05-20 02:13:00 +0000] [1] [INFO] Listening at: http://0.0.0.0:80 (1)
[2021-05-20 02:13:00 +0000] [1] [INFO] Using worker: gevent
[2021-05-20 02:13:00 +0000] [9] [INFO] Booting worker with pid: 9

当然我们可以后台运行Docker镜像,执行命令:docker run -d -p 9999:80 kennethreitz/httpbin。

(3)浏览器中访问本地Httpbin服务

192.168.134.129为Linux服务器或者虚拟机的地址。

如下图所示:

本地访问Httpbin示例

这样我们就可以在本地使用Httpbin接口服务了,速度会非常的快。

参考和部分内容来源:

『居善地』接口测试 — 6、Httpbin服务介绍

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

什么是域名被墙?

域名被墙:就是指被【 Great Firewall of China 以下简称(GFW) 】也称中国防火墙或中国国家防火墙,屏蔽而无法访问的域 ...

微信扫一扫,分享到朋友圈

http测试工具:httpbin