HTTPie(发音为aitch-tee-tee-pie)是一个类似cURL的,现代的,用户友好的,跨平台的命令行HTTP客户端,用Python编写。它旨在使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 [在 Debian/Ubuntu 上]
# dnf install httpie [在 Fedora 上]
# yum install httpie [在 CentOS/RHEL 上]
# pacman -S httpie [在 Arch Linux 上]
安装后,httpie的使用语法是:
$ http [options] [METHOD] URL [ITEM [ITEM]]
httpie最基本的用法是提供一个URL作为参数:
$ http 558idc.com
现在让我们看一下httpie命令的一些基本用法和示例。
发送HTTP方法
您可以在请求中发送HTTP方法,例如,我们将发送用于从指定资源请求数据的GET方法。 请注意,HTTP方法的名称恰好位于URL参数之前
$ http GET 558idc.com
上传一个文件
此示例显示如何使用输入重定向将文件上载到transfer.sh。
$ http https://transfer.sh < 558idc.com.txt
下载文件
您可以如下所示下载文件。
$ http https://transfer.sh/VVi8g/558idc.com.txt > 558idc.com.txt #使用输出重定向
或者
$ http --download https://transfer.sh/VVi8g/558idc.com.txt #使用wget格式
Transfer.sh - 从Linux命令行轻松分享文件 https://www.558idc.com/Linux/2019-01/156458.htm
提交表格
您还可以将数据提交到表单,如图所示。
$ http --form POST 558idc.lan date='Hello World'
查看请求详情
要查看正在发送的请求,请使用-v选项。
$ http -v --form POST 558idc.lan date='Hello World'
基本的HTTP身份验证
HTTPie还支持CLI的基本HTTP身份验证,形式如下
$ http -a username:password http://558idc.lan/admin/
自定义HTTP标头
您还可以使用标题:值表示法定义自定义HTTP标头。 我们可以使用以下URL来测试它,该URL返回标头。 在这里,我们定义了一个名为'strong> TEST 1.0'的自定义User-Agent:
$ http GET https://www.558idc.com/headers User-Agent:'TEST 1.0'
通过运行查看完整的使用选项列表。
$ http --help
或者
$ man ttp
您可以从HTTPie Github存储库中找到更多用法示例:https://github.com/jakubroztocil/httpie。
HTTPie是一个类似cURL,现代,用户友好的命令行HTTP客户端,具有简单自然的语法,并显示彩色输出。 在本文中,我们展示了如何在Linux中安装和使用httpie。 如果您有任何疑问,请通过下面的评论表联系我们。