接口测试与调试工具-HTTPie
目录
1、前言
2、简介
3、安装
4、快速上手
4.1、用法
4.2、示例
1、前言
对于测试人员,经常使用 Jmeter 或 Postman 进行接口测试与调试,其实市面上还有很多接口测试工具,本篇将介绍一个简单但功能强大的命令行 HTTP 和 API 测试客户端-HTTPie,适用于 API 时代,方便对 API、HTTP服务器和 web 服务进行测试和调试。
2、简介
HTTPie(发音为aitch-tee-tee-pie)是一个命令行 HTTP 客户端。它的目标是使 CLI 与 Web 服务的交互尽可能人性化。HTTPie 设计用于测试、调试以及通常与 API 和 HTTP 服务器交互。http&https命令允许创建和发送任意 HTTP 请求。它们使用简单自然的语法,并提供格式化和彩色输出。
特点:
(1)富有表现力和直观的语法
(2)格式化和彩色终端输出
(3)内置 JSON 支持
(4)表格和文件上传
(5)HTTPS、代理和身份验证
(6)任意请求数据
(7)自定义标题
(8)持续会话
(9)类似 Wget 的下载
(10)Linux、macOS、Windows 和FreeBSD 支持
(11)插件
(12)文档
(13)测试覆盖率
官网地址:
https://httpie.io/
3、安装
1、Python 环境下安装(普遍的)
请确保您拥有 Python 3.7 或更高版本
代码语言:javascript复制python -m pip install --upgrade pip wheel
python -m pip install httpie
2、Mac 系统下安装
如使用 Homebrew,需先安装Homebrew
代码语言:javascript复制brew update
brew install httpie
3、Windows 系统下安装
如使用 Chocolatey,需先安装Chocolatey
代码语言:javascript复制choco install httpie
4、Linux(Debian and Ubuntu)系统下安装
代码语言:javascript复制curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
apt update
apt install httpie
5、Linux(CentOS and RHEL)系统下安装
代码语言:javascript复制yum install epel-release
yum install httpie
6、FreeBSD 系统下安装
代码语言:javascript复制pkg install www/py-httpie
4、快速上手
4.1、用法
打开终端,输入命令
用法:
代码语言:javascript复制http [方法] URL [请求项…]
1、方法:
支持的方法有 GET、POST、HEAD、PUT、PATCH、DELETE 等,还可以使用自定义方法名称。
该方法参数是可选的,当你不指定它时,HTTPie 默认为:
GET 对于没有正文的请求
POST 对于带有正文的请求
GET 请求:
代码语言:javascript复制http GET pie.dev/get
或
http pie.dev/get
POST 请求:
代码语言:javascript复制http POST pie.dev/post hello=world
或
http pie.dev/post hello=world
2、URL:
默认方案是 http:// 可以从参数中省略。
代码语言:javascript复制http example.org
# → http://example.org
例如1:访问官方 Hello World
代码语言:javascript复制https httpie.io/hello
例如2:访问百度
代码语言:javascript复制http www.baidu.com
4.2、示例
本篇模拟接口请求链接使用 moco 生成。
关于 moco 的部署与使用等,可点击 moco 系列章节进行查阅。
1、GET 请求,无参,返回值为 Moco Get
如图所示:Postman 执行结果
使用 HTTPie 命令:
代码语言:javascript复制http localhost:8083/getdemo2
如图所示:HTTPie 执行结果
2、GET 请求,有参,返回值为 操作成功
如图所示:Postman 执行结果
使用 HTTPie 命令:
代码语言:javascript复制http GET http://localhost:8083/getdemo username==admin password==123456
如图所示:HTTPie 执行结果
3、POST 请求,表单,返回值为 admin,123456
如图所示:Postman 执行结果
使用 HTTPie 命令:
代码语言:javascript复制http --form POST localhost:8083/postdemo2 username='admin' password='123456'
如图所示:HTTPie 执行结果
4、POST 请求,JSON,信息头传 'Content-Type': 'application/json'
返回值为
{
"username": "administrator",
"password": "abcdef"
}
如图所示:Postman 执行结果
使用 HTTPie 命令:
代码语言:javascript复制http POST localhost:8083/header Content-Type:application/json username=admin password=123456
如图所示:HTTPie 执行结果
5、有关更多使用方法
终端运行 'http --help' 命令,或者访问 https://httpie.io/docs/cli 即可。