人性化的HTTP命令行工具——HTTPie

这篇文章主要是为了让各位读者了解 Httpie 这个 HTTP 的命令行客户端,同时也了解一下接口的有关知识html

Httpie 是什么python

Httpie (aych-tee-tee-pie)是一个 HTTP 的命令行客户端。其目标是让 CLI 和 web 服务之间的交互尽量的人性化。你能够用它很方便的用 http 的命令调试接口,最经常使用的应该就是 GET 和 POST 了。linux

接口是什么web

举个简单形象的例子,若是有一家宠物店卖动物口粮,好比猫粮狗粮,那么出售粮食就是一个接口,来的是猫就卖猫粮,来的是狗卖狗粮,之后来个什么鸡鸭鱼之类的只要修改一下这个出售粮食的方法便可。json

若是没有接口,那么就要写好对猫怎么作,对狗怎么作,并且之后对鸡鸭鱼这些来了还要从新写对鸡怎么作等等等等……简而言之,接口可让程序便于变化。api

为何要调试接口app

最终的目的就是使接口稳定,没有 bug 。通常来讲除了最基础的正常使用功能以外,还须要测试临界时的状况,好比说对处于可输入数据范围边界上的数据是否可以处理;还有性能测试,这部分就是使用资源的状况,接口响应时间等。curl

关于 Httpie工具

特色:
一、直观的语法
二、格式化和色彩化的终端输出
三、内置 JSON 支持
四、支持上传表单和文件
五、HTTPS、代理和认证支持
六、支持任意请求数据
七、自定义标题
八、持久性会话
九、类 Wget 下载
十、支持 Python 2.6, 2.7 和 3.x
十一、支持 Linux, Mac OS X 和 Windows
十二、插件
1三、文档
1四、测试覆盖率post

Curl VS Httpie

咱们首先用一张图来进行比对 Httpie 与 curl :

人性化的HTTP命令行工具——HTTPie人性化的HTTP命令行工具——HTTPie

curl 的使用方法

curl -X METHOD -H HEADER -i

后面的-i是表示显示返回消息的头部,若是你使用 cURL 访问 OpenStack,那么这个选项在获取 UUID 类型的 token 时必不可少。而后建立请求消息体,在使用 curl 来发送消息,会返回 json 消息体,但返回的 json 消息体比较混乱,不便阅读,若是想从返回的 json 消息体中获取一下信息是比较困难的。

人性化的HTTP命令行工具——HTTPie人性化的HTTP命令行工具——HTTPie

Httpie的使用方法

HTTPie 基于 python 编写,内部使用了 Requests 和 Pygments 库。

HTTPie 的用法要比 cURL 直观不少,没有那么多选项,基本上内心怎么想就怎么写,默认输入和输出都是 json 格式 (而 cURL 必需要指定 -H “Content-Type: application/json”)。咱们一样实现上面获取 token 的功能,效果以下:
人性化的HTTP命令行工具——HTTPie人性化的HTTP命令行工具——HTTPie

很明显的能看出,使用 Httpie 所获得的结果结构的清晰明了,它对返回的结果自动作了高亮和格式化。

更多:

cURL vs HTTPie on the Command Line for HTTP APIs:

https://www.ctl.io/developers/blog/post/curl-vs-httpie-http-apis\

原文来自:https://www.linuxprobe.com/http-httpie-command.html

相关文章
相关标签/搜索