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

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

Httpie 是什么

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

接口是什么

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

如果没有接口,那么就要写好对猫怎么做,对狗怎么做,而且以后对鸡鸭鱼这些来了还要重新写对鸡怎么做等等等等……简而言之,接口可以让程序便于变化。

为什么要调试接口

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

关于 Httpie

特点:

1、直观的语法

2、格式化和色彩化的终端输出

3、内置 JSON 支持

4、支持上传表单和文件

5、HTTPS、代理和认证支持

6、支持任意请求数据

7、自定义标题

8、持久性会话

9、类 Wget 下载

10、支持 Python 2.6, 2.7 和 3.x

11、支持 Linux, Mac OS X 和 Windows

12、插件

13、文档

14、测试覆盖率

Curl VS Httpie

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

curl 的使用方法

curl -X METHOD -H HEADER -i

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

Httpie的使用方法

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

HTTPie 的用法要比 cURL 直观很多,没有那么多选项,基本上心里怎么想就怎么写,默认输入和输出都是 json 格式 (而 cURL 必须要指定 -H “Content-Type: application/json”)。我们同样实现上面获取 token 的功能,效果如下:

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

更多:

cURL vs HTTPie on the Command Line for HTTP APIs:

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180518A1Z9C400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券