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 或更高版本
python -m pip install --upgrade pip wheel
python -m pip install httpie
2、Mac 系统下安装
如使用 Homebrew,需先安装Homebrew
brew update
brew install httpie
3、Windows 系统下安装
如使用 Chocolatey,需先安装Chocolatey
choco install httpie
4、Linux(Debian and Ubuntu)系统下安装
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)系统下安装
yum install epel-release
yum install httpie
6、FreeBSD 系统下安装
pkg install www/py-httpie
4、快速上手
4.1、用法
打开终端,输入命令
用法:
http [方法] URL [请求项…]
1、方法:
支持的方法有 GET、POST、HEAD、PUT、PATCH、DELETE 等,还可以使用自定义方法名称。
该方法参数是可选的,当你不指定它时,HTTPie 默认为:
GET 对于没有正文的请求
POST 对于带有正文的请求
GET 请求:
http GET pie.dev/get
或
http pie.dev/get
POST 请求:
http POST pie.dev/post hello=world
或
http pie.dev/post hello=world
2、URL:
默认方案是 http:// 可以从参数中省略。
http example.org
# → http://example.org
例如1:访问官方 Hello World
https httpie.io/hello
例如2:访问百度
http www.baidu.com
4.2、示例
本篇模拟接口请求链接使用 moco 生成。
关于 moco 的部署与使用等,可点击 moco 系列章节进行查阅。
1、GET 请求,无参,返回值为 Moco Get
如图所示:Postman 执行结果
使用 HTTPie 命令:
http localhost:8083/getdemo2
如图所示:HTTPie 执行结果
2、GET 请求,有参,返回值为 操作成功
如图所示:Postman 执行结果
使用 HTTPie 命令:
http GET http://localhost:8083/getdemo username==admin password==123456
如图所示:HTTPie 执行结果
3、POST 请求,表单,返回值为 admin,123456
如图所示:Postman 执行结果
使用 HTTPie 命令:
http --form POST localhost:8083/postdemo2 username='admin' password='123456'
如图所示:HTTPie 执行结果
4、POST 请求,JSON,信息头传 ‘Content-Type’: ‘application/json’
返回值为
{
"username": "administrator",
"password": "abcdef"
}
如图所示:Postman 执行结果
使用 HTTPie 命令:
http POST localhost:8083/header Content-Type:application/json username=admin password=123456
如图所示:HTTPie 执行结果
5、有关更多使用方法
终端运行 ‘http --help’ 命令,或者访问 https://httpie.io/docs/cli 即可。
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!