您的位置:首页 > 理论基础 > 计算机网络

HTTPie - 与Curl和Wget命令类似的现代HTTP客户端

2019-01-23 00:00 1736 查看

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 linuxidc.com

现在让我们看一下httpie命令的一些基本用法和示例。

发送HTTP方法

您可以在请求中发送HTTP方法,例如,我们将发送用于从指定资源请求数据的GET方法。 请注意,HTTP方法的名称恰好位于URL参数之前

$ http GET linuxidc.com

上传一个文件

此示例显示如何使用输入重定向将文件上载到transfer.sh。

$ http https://transfer.sh < linuxidc.com.txt

下载文件

您可以如下所示下载文件。

$ http https://transfer.sh/VVi8g/linuxidc.com.txt > linuxidc.com.txt  #使用输出重定向

或者

$ http --download https://transfer.sh/VVi8g/linuxidc.com.txt          #使用wget格式

Transfer.sh  - 从Linux命令行轻松分享文件  https://www.linuxidc.com/Linux/2019-01/156458.htm

提交表格

您还可以将数据提交到表单,如图所示。

$ http --form POST linuxidc.lan date='Hello World'

查看请求详情

要查看正在发送的请求,请使用-v选项。

$ http -v --form POST linuxidc.lan date='Hello World'

基本的HTTP身份验证

HTTPie还支持CLI的基本HTTP身份验证,形式如下

$ http -a username:password http://linuxidc.lan/admin/

自定义HTTP标头

您还可以使用标题:值表示法定义自定义HTTP标头。 我们可以使用以下URL来测试它,该URL返回标头。 在这里,我们定义了一个名为'strong> TEST 1.0'的自定义User-Agent:

$ http GET https://www.linuxidc.com/headers User-Agent:'TEST 1.0'

通过运行查看完整的使用选项列表。

$ http --help

或者

$ man  ttp

您可以从HTTPie Github存储库中找到更多用法示例:https://github.com/jakubroztocil/httpie。

HTTPie是一个类似cURL,现代,用户友好的命令行HTTP客户端,具有简单自然的语法,并显示彩色输出。 在本文中,我们展示了如何在Linux中安装和使用httpie。 如果您有任何疑问,请通过下面的评论表联系我们。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wget curl HTTPie