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. docker服务在Mac上的启动与使用

    在mac上打开安装的docker软件就可以启动docker服务了 点击顶部状态栏中鲸鱼图标会弹出操作菜单,显示着服务的状态,如下图所示: 只有在docker服务启动了之后,才可以在终端使用docker ...

  2. Java8 Period.between方法坑及注意事项

    在使用Java8 新特性中关于Period.between的方法时需注意该方法获取日期的区间问题. @Test public void test1(){ LocalDate from = LocalD ...

  3. django-orm框架表单的增删改查

    08.14自我总结 django-orm框架 一.orm基本配置 1.创建django项目 命令行:cmd先去到django创建目录,然后输入django-admin startproject dja ...

  4. postman全局变量设置

    1.点击小齿轮进入到变量添加页面,点击Globals添加全局变量 2.输入变量名称和变量值 3.接口中设置变量

  5. XSS中的同源策略和跨域问题

    转自 https://www.cnblogs.com/chaoyuehedy/p/5556557.html 1 同源策略 所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制.比如源a ...

  6. sql注入100种姿势过waf(一):waf 了解

    仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页 首先WAF(Web Application Firewall),俗称Web应用防火墙,主要的目的实际上是用来过滤不正常或者恶意请求包, ...

  7. 14.Nginx四层负载均衡

    1.七层负载均衡: 根据url 调度不同的集群 url.cheng.com 10.0.0.5 10.0.0.7 /pass 10.0.0.8 /user 1.web01和web02配置 (只不过代码不 ...

  8. jQuery插件图片懒加载lazyload

    来自XXX的前言: 什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的 交互.尤其是对于高清晰的图片,占的几M的空间.ImageLazyLoad技术 ...

  9. JDK1.8 新特性详解

    一  引言 现在java 10都已经出来了,而自己对java 8的一些新特性都不了解,很是惭愧,而且许多面试都有问到java8的新特性,借此博客好好学习这些新特性 二  新特性 1 default关键 ...

  10. 使用webpack命令打包时,报错TypeError: Cannot read property 'presetToOptions' of undefined的解决办法

    我只安装了webpack,没有安装webpack-cli,第一次输入webpack打包时,提示 One CLI for webpack must be installed. These are rec ...