zoukankan      html  css  js  c++  java
  • ubuntu 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:定制头部

    你可以使用


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


    代码如下:

    $ http www.test.com User-Agent:Xmodulo/1.0 Referer:http://xmodulo.com MyParam:Foo

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

    这个 HTTP 请求看起来如下:

    代码如下:

    GET / HTTP/1.1

    Host: www.jb51.net

    Accept: */*

    Referer: http://xmodulo.com

    Accept-Encoding: gzip, deflate, compress

    MyParam: Foo

    User-Agent: Xmodulo/1.0

    例2:下载文件

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

    代码如下:

    $ http www.jb51.net/my_file.zip > my_file.zip

    或者:

    代码如下:

    $ http --download www.jb51.net/my_file.zip

    例3:定制 HTTP 方法

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

    代码如下:

    $ http PUT www.jb51.net name='Dan Nanni' email=dan@email.com

    例4:提交表单

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

    代码如下:

    $ http -f POST www.jb51.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.jb51.net

    Content-Length: 31

    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.jb51.net

    Content-Length: 44

    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.jb51.net/db/lookup < my_info.json

    或者:

    代码如下:

    $ echo '{"name": "Dan Nanni"}' | http POST api.test.com/db/lookup

    结束语

  • 相关阅读:
    【Python基础编程222 ● 面向对象 ● 在子类中调用父类中的被子类重写的方法】
    【Python基础编程221 ● 面向对象 ● 子类中重写父类中的方法】
    【Python基础编程220 ● 面向对象 ● 子类不能继承父类中私有的属性和方法】
    【Python基础编程219 ● 面向对象 ● object类】
    【Python基础编程218 ● 面向对象 ● 继承的格式】
    【Python基础编程217 ● 面向对象 ● 关于封装的总结】
    【Python基础编程216 ● 面向对象 ● 定义私有方法和使用】
    【Python基础编程215 ● 面向对象 ● 定义私有属性以及私有属性的访问和修改】
    【Python基础编程214 ● 面向对象 ● 面向对象案例:存放家具】
    【Python基础编程213 ● 面向对象 ● 属性值可以是一个对象】
  • 原文地址:https://www.cnblogs.com/lizhonghua34/p/6020215.html
Copyright © 2011-2022 走看看