HTTPie - 类似于 Curl 和 Wget 命令的现代 HTTP 客户端
HTTPie(发音为 aitch-tee-tee-pie)是一个用 Python 编写的类似 cURL 的、现代的、用户友好的、跨平台的命令行 HTTP 客户端。它旨在使 CLI 与 Web 服务的交互尽可能简单且用户友好。
它有一个简单的 http 命令,使用户能够使用简单自然的语法发送任意 HTTP 请求。它主要用于测试、无故障调试以及主要与 HTTP 服务器、Web 服务和 RESTful API 交互。
- HTTPie 具有直观的 UI 并支持 JSON。
- 富有表现力且直观的命令语法。
- 语法突出显示、格式化和彩色终端输出。
- HTTPS、代理和身份验证支持。
- 支持表单和文件上传。
- 支持任意请求数据和标头。
- 类似 Wget 的下载和扩展。
- 支持 ython 2.7 和 3.x。
在本文中,我们将通过一些基本示例在 Linux 中展示如何安装和使用 httpie。
如何在 Linux 中安装和使用 HTTPie
大多数 Linux 发行版都提供了 HTTPie 软件包,可以使用默认的系统软件包管理器轻松安装,例如:
apt-get install httpie [On Debian/Ubuntu]
dnf install httpie [On Fedora]
yum install httpie [On CentOS/RHEL]
pacman -S httpie [On Arch Linux]
安装后,使用 httpie 的语法为:
http [options] [METHOD] URL [ITEM [ITEM]]
httpie 最基本的用法是为其提供一个 URL 作为参数:
http example.com
现在让我们通过示例来了解 httpie 命令的一些基本用法。
发送 HTTP 方法
您可以在请求中发送HTTP方法,例如我们将发送GET方法,该方法用于向指定资源请求数据。请注意,HTTP 方法的名称位于 URL 参数之前。
http GET tecmint.lan
上传一个文件
此示例演示如何使用输入重定向将文件上传到transfer.sh。
http https://transfer.sh < file.txt
下载文件
您可以下载如图所示的文件。
http https://transfer.sh/Vq3Kg/file.txt > file.txt #using output redirection
OR
http --download https://transfer.sh/Vq3Kg/file.txt #using wget format
提交表格
您还可以将数据提交到如图所示的表单。
http --form POST tecmint.lan date='Hello World'
查看请求详细信息
例如,要查看正在发送的请求,请使用 -v
选项。
http -v --form POST tecmint.lan date='Hello World'
基本 HTTP 身份验证
HTTPie 还支持来自 CLI 的基本 HTTP 身份验证,格式如下:
http -a username:password http://tecmint.lan/admin/
自定义 HTTP 标头
您还可以使用 Header:Value 表示法定义自定义 HTTP 标头。我们可以使用以下 URL 进行测试,该 URL 返回标头。在这里,我们定义了一个名为“strong>TEST 1.0”的自定义用户代理:
http GET https://httpbin.org/headers User-Agent:'TEST 1.0'
通过运行查看使用选项的完整列表。
http --help
OR
man ttp
您可以从 HTTPie Github 存储库找到更多使用示例:https://github.com/jakubroztocil/httpie。
HTTPie 是一个类似 cURL 的、现代的、用户友好的命令行 HTTP 客户端,具有简单自然的语法,并显示彩色输出。在本文中,我们展示了如何在 Linux 中安装和使用 httpie。如果您有任何疑问,请通过下面的评论表与我们联系。