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


    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 :

    人性化的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://openingsource.org/2203/

    本文地址:https://www.linuxprobe.com/http-httpie-command.html编辑:杨斌斌,审核员:逄增宝

    本文原创地址:https://www.linuxprobe.com/http-httpie-command.html

  • 相关阅读:
    word中怎么插入各种水平分隔线?
    Shell脚本--磁盘空间有超过80%时发信息
    Linux、Ubuntu 系统安装 MYSQL-python 失败解决方案
    安卓 okhttp 拦截重复请求
    安卓 drawable xml 实现多边框背景
    安卓 实现IOS阻尼回弹效果
    安卓 TextToSpeech: speak failed: not bound to TTS engine
    安卓 验证码输入框InputCode(同时支持密码输入)
    安卓 viewpager2动态设置滚动速度
    安卓 节点进度条NodeProgressBar
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/11416944.html
Copyright © 2020-2023  润新知