HTTPie
HTTPie(发音为aitch-tee-tee-pie)是一个命令行HTTP客户端。其目标是使CLI与web服务的交互尽可能人性化。HTTPie旨在用于测试、调试,并通常与API和HTTP服务器交互。http&https命令允许创建和发送任意http请求。它们使用简单自然的语法,并提供格式化和彩色输出。
HTTPie还有桌面版,包含一个时尚的图形界面。帮助用户与API轻松交互,并利用人工智能辅助工作,甚至在不发送请求的情况下构建和预览请求。
桌面版安装
下载:Download HTTPie for Desktop – HTTPie
下载后安装,
HTTPie最大的特点是可以在命令行使用
命令行下安装
下载地址:HTTPie CLI: HTTP & API testing client
使用choco可以在任何系统下安装(至少可以在windows下安装):
choco install httpie
还记得choco吗?看这里:像使用apt一样在windows里使用chocolatey来安装各种软件_window 如何通过 chocolatey安装-CSDN博客 如果报权限问题,就用管理员打开命令行,再执行安装。
也可以使用apt pkg brew yum等安装httpie。
命令行下使用
控制台使用命令:
https httpie.io/hello
返回信息:
{"ahoy": ["Hello, World! 👋 Thank you for trying out HTTPie 🥳","We hope this will become a friendship."],"links": {"discord": "https://httpie.io/discord","github": "https://github.com/httpie","homepage": "https://httpie.io","twitter": "https://twitter.com/httpie"}
}
其它测试语句:
http PUT pie.dev/put X-API-Token:123 name=John
python下安装
python3.11 -m pytest -v kotti/tests/
HTTPie跟curl的区别
httpie和curl都是命令行HTTP客户端工具,但它们在设计和使用上有一些区别:
-
用户体验:
- httpie:提供了比curl更友好的命令行界面,支持语法高亮、自动补全等功能,使得发送HTTP请求和阅读响应变得更加容易。httpie的输出格式也更加友好和直观,适合用于API测试和调试12。
- curl:功能全面且强大,但命令行选项相对复杂,需要用户熟悉各种参数和选项14。
-
默认行为:
- httpie:将常见场景和大概率行为变成了默认值,例如,如果http命令不带请求数据,默认行为是GET;如果带了请求数据,默认行为是POST。此外,它还自动识别JSON数据,简化了输入过程2。
- curl:需要用户明确指定请求方法、请求头、数据等参数14。
-
功能特性:
- httpie:专注于支持对现代web API的查询,提供了最相关的细节,并隐藏了用户不太可能需要的信息。它还支持设置请求头、Cookies、认证等,为用户提供了更多的控制选项12。
- curl:支持多种协议(包括HTTP、HTTPS、FTP等),提供了丰富的命令行选项,允许用户自定义请求头、方法、数据等,能够轻松完成GET、POST、PUT、DELETE等HTTP请求,并输出详细的响应信息。此外,curl还支持将响应数据保存到文件,便于后续分析14。
-
安装和使用:
- httpie:可以通过pip安装,也可以使用大多数主流Linux发行版的包管理器安装。安装后,使用
http
命令来访问23。 - curl:通常是Linux系统上的内置工具,也可以通过包管理器安装。使用
curl
命令来访问14。
- httpie:可以通过pip安装,也可以使用大多数主流Linux发行版的包管理器安装。安装后,使用
-
适用场景:
- httpie:更适合用于API测试和调试,以及需要直观、简洁命令行的场景12。
- curl:更适合需要处理复杂HTTP请求、支持多种协议和功能的场景