相较于curl那把瑞士军刀的小巧和强大,httpie则只是在http client端进行了改进,如果你需要的功能是一个客户端,能够与提供rest api接口的后端进行交互实现常见的GET/PUT/DELET/POST等操作,通过json/xml文件与之进行交互,设定HTTP Header,可能同时会使用HTTPS方式等这样常见的需求,使用curl命令足够了,唯一缺点是使用起来稍显繁琐,希望这种场景下的简化需求则可以考虑httpie是否是你所需要的,这篇文章将会进行简单地使用介绍。
概要信息
Httpie概要信息如下表所示:
项目 | 说明 |
---|---|
官网 | https://httpie.org |
开源/闭源 | 开源 |
源码管理地址 | https://github.com/jakubroztocil/httpie |
License类别 | BSD-3-Clause License |
开发语言 | python |
当前稳定版本 | 1.0.2 (2018/11/14) |
操作系统支持 | 跨平台,支持Linux/Windows/Mac |
下载地址:github release | https://github.com/jakubroztocil/httpie/releases |
功能特性
Httpie包含多种功能特性,诸如:
- 更直观和易于表达的语法
- 格式化与可色彩定制的终端输出
- 内置的JSON支持
- 支持表单和文件上传
- 支持HTTP/HTTPS
- 支持HTTP_PROXY和HTTPS_PROXY
- 支持任意格式的请求数据
- 可定制的Http Header
- 支持持久化的Session
- 支持Python2.7和Python3.x
- 多操作系统:Linux/MacOS/Windows等的支持
- 完善的文档
- 支持下载模式,类似wget的功能
- …
安装
httpie提供多种安装方式,包括使用操作系统提供的包管理工具或者pip进行安装。
使用操作系统的包管理工具
- MacOS
安装命令:brew install httpie
- CentOS等
安装命令:yum install httpie
- Ubuntu等
安装命令:apt-get install httpie
使用pip进行安装
安装命令:pip install --upgrade httpie
安装示例
以下是在MacOS上使用pip进行安装的日志示例
liumiaocn:~ liumiao$ pip install --upgrade httpie
Collecting httpie
...省略
Installing collected packages: httpie
Successfully installed httpie-1.0.2
liumiaocn:~ liumiao$
安装后使用version选项进行版本确认,是目前的最新稳定版本1.0.2
liumiaocn:~ liumiao$ http --version
1.0.2
liumiaocn:~ liumiao$
curl vs httpie
curl命令示例:
curl -i -X PUT httpbin.org/put -H Content-Type:application/json -d ‘{“hello”: “world”}’
http命令示例:
http -v PUT httpbin.org/put API-Key:foo hello=world
使用方式
命令格式
使用格式:http [设定选项] [HTTP动作] URL地址 [设定项]
URL快捷写法
httpie就是更为简便写法的curl的http client,体现在URL的写法上,相信看了下面两个示例即可了解一二。
- 规则1: http://localhost可以省略
http http://localhost:32044/login = http :32044/login