HTTPie 是一个简单的现代化命令行 HTTP 客户端。

交互友好,JSON支持,语法高亮,类wget下载,支持拓展等

功能特性

  • 自然而且简单的命令语句
  • 格式化且高亮显示输出内容
  • 内置 JSON 支持
  • 表单和文件上传
  • 支持 HTTPS, 代理和授权验证
  • 支持多样化的请求数据格式
  • 自定义 headers 头
  • 持久 sessions 存储
  • 类似 wget 的下载模式
  • 兼容 Python 2.6, 2.7 以及 3.x
  • 支持 Linux, macOS 和 Windows 操作系统
  • 插件支持
  • 详细的文档说明
  • 完善的测试用例覆盖

安装

官网地址 - https://httpie.org/

项目地址 - https://github.com/jakubroztocil/httpie/

项目文档 - https://httpie.org/doc

可以通过包管理工具可以方便的安装它

  • macOS

    • Homebrew - brew install httpie
    • MacPorts - port install httpie
  • Linux

    • debian系列 - apt-get install httpie

    • RPM系列 - yum install httpie

    • Arch Linux - pacman -S httpie

  • 使用Python的Pip安装

    • pip install --upgrade pip setuptools

      pip install --upgrade httpie

使用

基本语法

http [flags] [METHOD] URL [REQUEST_ITEM [REQUEST_ITEM]]

如: http -f POST example.org name=World 发送 Post 请求

请求包含了 参数 请求方法 URL 请求参数

  • 请求方法 - 可选项,未指定时默认使用 GET 请求(有请求参数时 使用 POST)
  • URL - 必选项,请求地址
    • 默认缺省协议 http://http example.org 等同 http http://example.org

    • 通过 alias https='http --default-scheme=https' 可以使 https 命令设置缺省协议为 https

    • 本地地址 localhost 支持缩写为 :http localhost:/foo 等同 http :/foo

  • 参数
    • -f 表单提交
    • -v 显示详细的请求信息
    • -h 仅显示Header
    • -b 仅显示Body
    • -d 下载文件
      • -o 保存文件的文件名
      • -c 断点续传
    • --follow 允许重定向
      • --all 显示重定向的全部路径
      • --max-redirects=5 最大次数
    • --proxy 设置代理,http --proxy=http:http://10.10.1.10:3128 --proxy=https:https://10.10.1.10:1080 example.org
  • 请求参数
    • : Http 头参数,如: http example.org X-API-Token:123
    • == URL 请求参数,如: http example.org name==12
    • = 数据域参数(默认被格式化为JSON,使用-f可以指定为表单类型 form-encoded),如: http -f POST example.org name=World
    • @file_path 表单文件,如: screenshot@~/Pictures/img.png
    • … 更多请查阅官方文档

使用效果

下载文件

http -d -o xx.png -b url.cn/5DFeeyg

代理

http --proxy=http:http://127.0.0.1:1086 http://www.google.com

获取Ip信息

https -b api.ip.sb/geoip

重定向过程

http --follow --all -h sogou.com

更多

更多优秀内容,请 关注微信公众号【极客收藏夹】 获取,发送消息可以加群获取最新资讯哦

curl太复杂难用记不住?来试试Httpie一个简单的现代化命令行Http客户端的更多相关文章

  1. [No000017]单词拼写记不住?试试这俩方法-单词拼写,怎么记又快又好?

  2. 【实习记】2014-09-01从复杂到简单:一行命令区间查重+长整型在awk中的bug

        9月1号,导出sql文件后,想到了awk,但很复杂.想到了用sed前期处理+python排序比较的区间查重法.编写加调试用了约3小时. 9月2号,编写C代码的sql语句过程中,发现排序可以交m ...

  3. HTTPie:替代 Curl 和 Wget 的现代 HTTP 命令行客户端

    HTTPie 工具是现代的 HTTP 命令行客户端,它能通过命令行界面与 Web 服务进行交互. -- Magesh Maruthamuthu 大多数时间我们会使用 curl 命令或是 wget 命令 ...

  4. Grid属性太多记不住?【Grid栅格布局可视化编辑器】直观易懂高效,拖拉拽,有手就行!

    手把手教你通过拖拉拽可视化的方式带你练习[Grid栅格布局]的各个属性,直观易懂!再也不愁记不住繁多的Grid属性了.整个过程在众触应用平台进行,不用手写一行CSS代码. grid-auto-flow ...

  5. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  6. 有了 tldr,妈妈再也不用担心我记不住命令了

    引言 有一次我在培训时说「程序员要善于使用 Terminal 以提高开发效率」,一位程序员反驳道:「这是 21 世纪,我们为什么要用落后的命令行,而不是先进的 GUI?」 是的,在一些人眼里,这个黑黑 ...

  7. 英语每日阅读---8、VOA慢速英语(翻译+字幕+讲解):脸肓症患者记不住别人的脸

    英语每日阅读---8.VOA慢速英语(翻译+字幕+讲解):脸肓症患者记不住别人的脸 一.总结 一句话总结: a.neural abnormalities are more widespread:Duc ...

  8. 这些年一直记不住的 Java I/O

    参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...

  9. MVC4.0中项目发布遇到IE11时session存入URL中,导致记不住密码的问题

    ///MVC4.0中项目发布遇到IE11时session存入URL中,导致记不住密码的问题,在webconfig中配置<system.web><authentication mode ...

随机推荐

  1. 服务器时间误差导致的google sign-in后台验证错误(远程调试java程序)

    https://developers.google.com/identity/sign-in/web/backend-auth import com.google.api.client.googlea ...

  2. 初探内核之《Linux内核设计与实现》笔记下

    定时器和时间管理 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要. 主要内容: 系统时间 定时器 定时器相关 ...

  3. What is neural network?

    It is a powerful learning algoithm inspired by how the brain work. Example 1 - single neural network ...

  4. 机器学习回顾篇(7):决策树算法(ID3、C4.5)

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  5. 【css】CSS设置文字不能被选中

    CSS设置文字不能被选中 /*设置文字不能被选中 以下为css样式*/ -webkit-user-select:none; -moz-user-select:none; -ms-user-select ...

  6. Python 爬取豆瓣TOP250实战

    学习爬虫之路,必经的一个小项目就是爬取豆瓣的TOP250了,首先我们进入TOP250的界面看看. 可以看到每部电影都有比较全面的简介.其中包括电影名.导演.评分等. 接下来,我们就爬取这些数据,并将这 ...

  7. 互联网基础协议 - HTTP

    HTTP的简介 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/ ...

  8. C加加学习之路 1——开始

    C++是一门古老而复杂的语言,绝不是一门可以速成的语言,学习它需要有意识的刻意练习和长时间的持续不断的磨练.而大多数人不太能耐得住寂寞,喜欢速成,所以像<21天学通C++>这种书就比较受欢 ...

  9. Python enumerate() 函数笔记

    enumerate函数说明: 函数原型:enumerate(sequence, [start=0])  #第二个参数为指定索引 功能:将可循环序列sequence以start开始分别列出序列数据和数据 ...

  10. 【MySQL】MySQL Workbench快捷键小结

    执行当前行,ctrl+enter 执行整篇sql脚本: ctrl+shift+enter 格式化sql语句(美化sql语句):ctrl+b 自动补全:ctrl+space(似乎win10中这个快捷键失 ...