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. 记一次客户DB CPU短时间内冲高至99%处理

    问题背景: 客户反映DB CPU短时间内冲高,查询变得缓慢,记录此背景下的处理方式 1> 查看系统负载及相关sql 2> 查看相关sql的执行计划 3> 想看相关sql的执行计划是否 ...

  2. Requests实践详解

    Requests是什么 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 如果你看过上篇文章关于urllib库的使用,你会发现, ...

  3. BZOJ - 2783 树

    数列 提交文件:sequence.pas/c/cpp 输入文件: sequence.in 输出文件: sequence.out 问题描述: 把一个正整数分成一列连续的正整数之和.这个数列必须包含至少两 ...

  4. python程序编译成exe文件

    最近越来越喜欢使用python写工具.使用的时候,发现程序内部成员python安装目录常常不同,如果用bat双击执行,常常需要修改从svn上down下来的bat文件中python.exe的路径.而给策 ...

  5. Android OkHttp + Retrofit 下载文件与进度监听

    本文链接 下载文件是一个比较常见的需求.给定一个url,我们可以使用URLConnection下载文件. 使用OkHttp也可以通过流来下载文件. 给OkHttp中添加拦截器,即可实现下载进度的监听功 ...

  6. sql数据文件导入数据库

    1.首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码.连接上数据库. 2.在连接终端上执行命令create database JD_Model; ...

  7. .net工作流引擎ccflow开发平台属性功能的隐藏显示介绍

    关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明  工作流设计 工作流快速开发平台   业务流程管理   bpm工作流系统  java工 ...

  8. oracle 分区表(子分区)收缩笔记

    思路1.首先移动子分区到别的表空间.2.收缩数据文件.3.再把子分区移回原表空间. ---------------------------------------------生成发送报告移动子分区语句 ...

  9. MFC中如何分割CString类型的数据

    [才疏学浅,难免有纰漏,若有不正确的地方,欢迎指教] MFC中有一个库函数 Tokenize(); 函数原型:CStringT Tokenize( PCXSTR pszTokens , int& ...

  10. Uipath 浏览器页面最大化和最小化

    文章来源东京IT青年前线http://www.rpatokyo.com/ Uipath 浏览器页面最大化和最小化   浏览器在关闭时会自动记忆上次浏览器关闭时窗口的小,下次再次会以同样的大小打开.机器 ...