当你作为前端开发者和后端开发者一起协同工作时,联调接口成了必须要做的工作。而为了验证接口的稳定性和安全性,我们需要模拟各种HTTP请求,并查看相应的结果。
今天我要向大家介绍两款非常好用的免费开源工具——Hoppscotch和HTTPie!
地址:Hoppscotch • Open source API development ecosystem
Hoppscotch的GitHub地址:
https://github.com/hoppscotch/hoppscotch
Hoppscotch简介
Hoppscotch是一个基于浏览器的接口测试工具,几乎支持Postman的所有功能。它的使用非常简单,只需要在浏览器中打开,就可以开始快速测试和调试接口了。
Hoppscotch功能特性
Hoppscotch的功能特性非常强大,包括接口测试、保存请求、快速输出文档、团队协作、网络代理等等。不仅如此,它还支持WebSocket和接收服务器端事件,无需轮询。也支持GraphQL查询。UI设计简洁,操作简单,让我们能够更加高效地测试接口。
不仅如此,这个工具相当强大,连mqtt都能在线调试了,还可以当作mqtt的客户端工具。
为什么选择Hoppscotch而不是Postman?
与Postman相比,为什么我更倾向于选择Hoppscotch呢?
Postman的服务器在国外,导致云同步、登录以及查看生成的API文档的速度都非常慢,有时候甚至打不开。此外,Postman需要安装,且只支持注册账号或通过谷歌账号登录,本地化的支持不足。
在日常使用中,Hoppscotch几乎和Postman没有太明显的区别。访问应用、登录、生成接口文档等操作速度都非常流畅。更重要的是,Hoppscotch支持使用Github账号登录,这样就不需要为了它单独维护一个账号密码了。
HTTPie介绍
类似好用的在线api调试工具还有HTTPie,但它也提供了一个网页界面(HTTPie for Web),可以让你在浏览器中发送 HTTP 请求。它支持多种请求方法,并且有一个简洁的用户界面。这款也非常好用,界面比较美观。还提供有跨平台支持的命令行工具,方便测试和持续集成。
HTTPie 是一个命令行 HTTP 客户端。它的目标是使 CLI 与 Web 服务的交互尽可能人性化。HTTPie 设计用于测试、调试以及通常与 API 和 HTTP 服务器交互。http 和 https 的命令允许创建和发送任意 HTTP 请求。HTTPie 整体采用简单自然的语法,并提供格式化和彩色输出。
HTTPie主要特点
富有表现力和直观的语法
格式化和彩色终端输出
内置 JSON 支持
表格和文件上传
HTTPS、代理和身份验证
任意请求数据
自定义标题
持续Sessions
类似 Wget 的下载
Linux、macOS、Windows 和 FreeBSD 支持
插件
文档
测试覆盖率
HTTPie 还有强大的命令行的使用方式,在各个平台都能下载使用,比如python环境下:
pip install httpie
#如果使用报错,可能是urlib3版本问题,执行以下
pip install --upgrade httpie urllib3
它比curl的命令行好用和简单多了。用法:
http [方法] URL [请求项…],
get请求
注意,get请求需要带参数时用 param==value 的形式
http GET http://localhost:8083/getdemo username==admin password==123456
post请求的使用举例:
post请求时表单用 = ,默认为post
提交表单只需添加 -f 或 --form即可
http --form POST localhost:8083/postdemo2 username='admin' password='123456'
#post json
http POST localhost:8083/header Content-Type:application/json username=admin password=123456
特别注意:非字符串 JSON 字段,非字符串 JSON 字段使用:=分隔符,它允许将任意 JSON 数据嵌入到生成的 JSON 对象中。此外,文本和原始 JSON 文件也可以使用=@和嵌入到字段中:=@:
需要修改请求头,只需设置形式如: header:value
下载文件:
$ http --download GET https://httpbin.org/image/jpeg
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 35588
Content-Type: image/jpeg
Date: Tue, 07 Jun 2022 13:21:20 GMT
Server: gunicorn/19.9.0
Downloading to jpeg.jpg
Done. 35.6 kB in 00:0.24230 (146.9 kB/s)
传递json:
若当进行post请求时,传递数据太多,我们可以直接传一个json类型文件,用 =@
http httpbin.org/post myinfo=@json.txt
输出参数选项
可以选择性的打印出响应头、响应体、或两者
响应头: --headers 或 -h
响应体: --body 或 -b
两者: --verbose 或 -v 默认输出是两者
其他资源
Hoppscotch • Open source API development ecosystem
HTTPie for Web — API testing client
57.6K star!一个免费开源的 API 开发生态系统_hoppscotch-优快云博客