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

使用

基本语法

  1. 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. Spring Boot 2.x基础教程:Swagger静态文档的生成

    前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了.如果您还不熟悉这块,可以先阅读: Spring Boo ...

  2. Spring Boot 常用注解汇总

    一.启动注解 @SpringBootApplication @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documen ...

  3. 【TencentOS tiny】又有一个操作系统开源

    新闻 2019年9月18日,腾讯宣布将开源 自主研发的轻量级物联网实时操作系统TencentOS tiny.相比市场上其它系统,腾讯TencentOS tiny在资源占用.设备成本.功耗管理以及安全稳 ...

  4. Cocos Creator 通用框架设计 —— 网络

    在Creator中发起一个http请求是比较简单的,但很多游戏希望能够和服务器之间保持长连接,以便服务端能够主动向客户端推送消息,而非总是由客户端发起请求,对于实时性要求较高的游戏更是如此.这里我们会 ...

  5. BZOJ 1345: [Baltic2007]序列问题Sequence

    1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1180  Solved: 633[Subm ...

  6. Stock Charts

    Description You're in the middle of writing your newspaper's end-of-year economics summary, and you' ...

  7. Java之微信公众号开发

    这次以文本回复作为案例来讲解Java相关得微信公众号开发. 首先必须要有一个个人微信公众号 个人微信公众号相关的接口权限有限,不过用于个人学习体验一下足够了,如图: 然后进入微信公众后台,点击基本配置 ...

  8. [Luogu3659][USACO17FEB]Why Did the Cow Cross the Road I G

    题目描述 Why did the cow cross the road? Well, one reason is that Farmer John's farm simply has a lot of ...

  9. JQ获取元素属性值

    最近在学习JAVA Web,自己也是做个下列表左右选择的小案例. 获取某个元素的属性值一直以为是要调用atrr方法,不过好像获取元素的数组形式再遍历每个元素的时候想获取到它的属性值用attr方法有问题 ...

  10. 概念理解:boost::asio::定时器2

    多线程同步回调#include <cstdio> #include <iostream> #include <boost/asio.hpp> #include &l ...