位置: 编程技术 - 正文

在Linux下HTTPie工具的使用教程

编辑:rootadmin

推荐整理分享在Linux下HTTPie工具的使用教程,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

如果你经常需要通过终端以非交互模式访问网络服务器(例如,从网络上下载文件,或者是测试 RESTful 网络服务接口),可能你会选择的工具是 wget 或 curl。通过大量的命令行选项,这两种工具都可以处理很多非交互网络访问的情况(比如这里、这里,还有这里)。然而,即使像这些一样的强大的工具,你也只能发挥你所了解的那些选项的功能。除非你很精通那些繁冗的语法细节,这些工具对于你来说只不过是简单的网络下载器而已。

就像其宣传的那样,“给人用 curl 类工具”,HTTPie 设计用来增强 wget 和 curl 的可用性。它的主要目标是使通过命令行与网络服务器进行交互的过程变得尽可能的人性化。为此,HTTPie 支持具有表现力、但又很简单很直观的语法。它以彩色模式显示响应,并且还有一些不错的优点,比如对 JSON 的良好支持,和持久性会话用以作业流程化。

我知道很多人对把像 wget 和 curl 这样的无处不在的、可用的、完美的工具换成完全没听说过的软件心存疑虑。这种观点是好的,特别是如果你是一个系统管理员、要处理很多不同的硬件的话。然而,对于开发者和终端用户来说,重要的是效率。如果我发现了一个工具的用户更佳替代品,那么我认为采用易于使用的版本来节省宝贵的时间是毫无疑问的。没有必要对替换掉的工具保持信仰忠诚。毕竟,对于 Linux 来说,最好的事情就是可以选择。

在这篇文章中,让我们来了解并展示一下我所说的 HTTPie,一个用户友好的 wget 和 curl 的替代。在 Linux 上安装 HTTPie

HTTPie 是用 Python 写的,所以你可以在几乎所有地方(Linux,MacOSX,Windows)安装它。而且,在大多数的 Linux 发行版中都有编译好的安装包。Debian,Ubuntu 或者 Linux Mint:

复制代码代码如下:$ sudo apt-get install httpie

Fedora:

复制代码代码如下:$ sudo yum install httpie

CentOS/RHEL:

首先,启用EPEL 仓库,然后运行:

复制代码代码如下:$ sudo yum install httpie

对于任何 Linux 发行版,另一个安装方法时使用pip。

复制代码代码如下:$ sudo pip install --upgrade httpie

HTTPie 的例子

当你安装完 HTTPie 后,你可以通过输入 http 命令来调用它。在这篇文章的剩余部分,我会展示几个有用的 http 命令的例子。例1:定制头部

你可以使用 <header:value> 的格式来定制头部。例如,我们发送一个 HTTP GET 请求到 www.test.com ,使用定制用户代理(user-agent)和来源(referer),还有定制头部(比如 MyParam)。

复制代码代码如下:$ http www.test.com User-Agent:Xmodulo/1.0 Referer: MyParam:Foo

注意到当使用 HTTP GET 方法时,就无需明确指定 HTTP 方法。

这个 HTTP 请求看起来如下:

复制代码代码如下:GET / HTTP/1.1 Host: www.gimoo.net</p><p> Accept: */* Referer: Accept-Encoding: gzip, deflate, compress MyParam: Foo User-Agent: Xmodulo/1.0

例2:下载文件

你可以把 http 作为文件下载器来使用。你需要像下面一样把输出重定向到文件。

在Linux下HTTPie工具的使用教程

复制代码代码如下:$ http www.gimoo.net/my_file.zip > my_file.zip

或者:

复制代码代码如下:$ http --download www.gimoo.net/my_file.zip

例3:定制 HTTP 方法

除了默认的 GET 方法,你还可以使用其他方法(比如 PUT,POST,HEAD)。例如,发送一个 HTTP PUT 请求:

复制代码代码如下:$ http PUT www.gimoo.net name='Dan Nanni' email=dan@email.com

例4:提交表单

使用 http 命令提交表单很容易,如下:

复制代码代码如下:$ http -f POST www.gimoo.net name='Dan Nanni' comment='Hi there'

'-f' 选项使 http 命令序列化数据字段,并将 'Content-Type' 设置为 "application/x-www-form-urlencoded; charset=utf-8"。

这个 HTTP POST 请求看起来如下:

复制代码代码如下:POST / HTTP/1.1 Host: www.gimoo.net</p><p> Content-Length: Content-Type: application/x-www-form-urlencoded; charset=utf-8 Accept-Encoding: gzip, deflate, compress Accept: */* User-Agent: HTTPie/0.8.0 name=Dan+Nanni&comment=Hi+there

例5:JSON 支持

HTTPie 内置 JSON(一种日渐普及的数据交换格式)支持。事实上,HTTPie 默认使用的内容类型(content-type)就是 JSON。因此,当你不指定内容类型发送数据字段时,它们会自动序列化为 JSON 对象。

复制代码代码如下:$ http POST www.test.com name='Dan Nanni' comment='Hi there'

这个 HTTP POST 请求看起来如下:

复制代码代码如下:POST / HTTP/1.1 Host: www.gimoo.net</p><p> Content-Length: Content-Type: application/json; charset=utf-8 Accept-Encoding: gzip, deflate, compress Accept: application/json User-Agent: HTTPie/0.8.0 {"name": "Dan Nanni", "comment": "Hi there"}

例6:输出重定向

HTTPie 的另外一个用户友好特性是输入重定向,你可以使用缓冲数据提供 HTTP 请求内容。例如:

复制代码代码如下:$ http POST api.gimoo.net/db/lookup < my_info.json

或者:

复制代码代码如下:$ echo '{"name": "Dan Nanni"}' | http POST api.test.com/db/lookup

结束语

在这篇文章中,我介绍了 HTTPie,一个 wget 和 curl 的可能替代工具。除了这里展示的几个简单的例子,你可以在其官方网站上找到 HTTPie 的很多有趣的应用。再次重复一遍,一款再强大的工具也取决于你对它的了解程度。从个人而言,我更倾向于 HTTPie,因为我在寻找一种更简洁的测试复杂网络接口的方法。

Linux系统Shell命令常用功能使用详解 Linux系统中Shell不仅仅是一个命令,而且是其他命令的解释器。可以调试其他命令,从而完成编译。那么Linux系统中Shell命令应该怎么使用呢?其实作为命

Linux中怎么在Deepin同时解压多个压缩档案 在Linux系统中Deepin命令行上可以对文件进行解压,使用Deepin命令行还可以同时对多个tarball文件解压。那么Linux中怎么在Deepin同时解压多个压缩档案呢?$ls

Linux下用Conky来监视系统运行信息的教程 Conky是一个用C语言写就的系统监视器,并在GNUGPL和BSD许可协议下发布,在Linux和BSD操作系统中都可以获取到它。这个应用是基于X视窗系统的,原本由Torsm

标签: 在Linux下HTTPie工具的使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/366126.html 转载请保留说明!

上一篇:在Linux下的Docker中新建容器的方法(linux中docker)

下一篇:Linux系统Shell命令常用功能使用详解(linux常见shell命令)

  • 居民和非居民企业的概念
  • 税务行政复议是税务行政复议机关的裁决活动
  • 未完工程如何处理
  • 记账凭证背面怎么填写
  • 增值税抵扣凭证装订要求
  • 超范围经营可以赔偿吗
  • 增值税普通电子发票可以抵税吗
  • 运输费可以和货款合并开票吗
  • 分公司注销存货处理
  • 从个人处借款的法律规定
  • 将自建的厂房对外转让需要缴纳增值税吗
  • 外籍人员劳务费税率表
  • 企业接受大额捐赠,可以分次确认收入缴纳企业所得税吗?
  • 有限公司资本公积转增股本要交税吗
  • 什么凭证需要审计报告
  • 工商年报报表
  • 城建税和教育费附加可以税前扣除吗
  • 已完成认证
  • 统一社会信用代码证
  • 文化事业建设费税收优惠政策2023
  • 委托贷款利息收入增值税
  • win7网络无连接
  • 营运能力指标正常范围
  • 捐赠支出税前扣除票据
  • 进项税大于销项税会计分录月末
  • 企业老板机票怎么报销记账
  • 对增值税发票开具方面有何要求?
  • 厂房维修是否可以退税
  • 股东之间转让股权需要股东会决议吗
  • php4位数的随机字符
  • smarty模板判断数组为空的方法
  • 对公网银数字证书
  • 比较常见的病有哪些
  • macbook 运行windows
  • 公司固定资产一般谁负责
  • 非货币性资产交换
  • 卖机械配件平台有哪些
  • 残疾人在公司上班公司有什么好处
  • 百度飞桨paddle
  • 增值税发票月度统计
  • 一个楼盘可以开盘几次
  • 发票打印出来的字太靠下了
  • 微软和梅赛德斯奔驰宣布合作
  • 怎么检测pvc中含量
  • 帝国cms安装教程
  • vector 底层原理
  • java微信公众号开发源码
  • 资产支出加权平均数和一般借款本金加权平均数
  • 企业所得税申报表在哪里打印
  • 前年度多交附加税怎么交
  • 预交的企业所得税需要计提吗?
  • 债权投资和其他债权投资举例
  • 新开公司怎么办理税务登记
  • 销售送客户礼物
  • 中秋福利做账
  • 小企业固定资产入账标准
  • 现金流量表编制实操
  • 车保险费中的车费是什么
  • 发票信息不一致是怎么回事
  • 建筑业预缴税款怎么退税
  • 防疫物资采购会计处理
  • 支付投资者投入的款项
  • 职工教育经费中的职工培训费用可以全额扣除吗
  • 工程上第三方代表啥意思
  • 弥补上年亏损的分录 所得税
  • Win7/Win8/Win10单、多系统一键安装教程 只需30秒!
  • Remind_XP.exe - Remind_XP是什么进程 有什么用
  • win8 更改电脑设置
  • linux中mnt
  • excel乱码怎么转换
  • re engine引擎
  • js日期格式化方法
  • android.view.window.addflags
  • python怎么编写二维码
  • jquery的css方法
  • 在linux安装python
  • 上海附加税税率2023
  • 佛山顺德怎么坐地铁到广州
  • 车辆购置税减免政策上汽大通 大家mifa6
  • 小规模纳税人可以用专票抵扣税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设