HTTPie

是一个 HTTP 的命令行客户端。其目标是让 CLI 和 web 服务之间的交互尽可能的人性化。HTTPie 可用于与 HTTP 服务器做测试、调试和常规交互。

1 定制 HTTP 方法

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

http PUT 请求的url 参数名=参数值 参数名=参数值
2 提交表单

使用 http 命令提交表单 
‘-f’ 选项使 http 命令序列化数据字段,并将 ‘Content-Type’ 设置为 “application/x-www-form-urlencoded; charset=utf-8”。

http -f POST 请求的url 参数名=参数值

3 JSON数据请求

HTTPie 内置 JSON(一种日渐普及的数据交换格式)支持。事实上,HTTPie 默认使用的内容类型(content-type)就是 JSON。因此,当不指定内容类型发送数据字段时,它们会自动序列化为 JSON 对象。

// 如果JSON参数不是字符串则用:=分隔,例如
http PUT
请求的url name=nate password=nate_password age:=28 a:=true streets:='["a", "b"]'
4 输出重定向

HTTPie 的另外一个用户友好特性是输入重定向,你可以使用缓冲数据提供 HTTP 请求内容。例如:

http POST api.serena.com/info/query < info.json
5 显示详细的请求
http -v
6 只显示Header
http -h
7 只显示Body
http -b
8 下载文件
http -d 
9 请求删除的方法
http DELETE 
10 模拟Form的Post请求上传文件
http -f POST serena.com/upload name=testfile file@~/testfile.txt
11 修改请求头

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

http 网站  User-Agent:用户代理  'Cookie:cookie'  Referer:来源
12 认证
http -a username:password serena.com
http --auth-type=digest -a username:password serena.com
13 使用http代理
http --proxy=http:http://192.168.1.254:8080 serena.com
http --proxy=http:http://user:password@192.168.1.254:8080 serena.com

HTTPie命令介绍的更多相关文章

  1. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  2. 2.SDK目录结构和adb工具及命令介绍

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...

  3. git各种命令介绍以及碰到的各种坑

    一.各种命令介绍: git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地 ...

  4. tar.xz如何解压:linux和windows下tar.xz解压命令介绍

    在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...

  5. 查看MySQL数据库表的命令介绍

    如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...

  6. Docker学习总结之Run命令介绍

    Docker学习总结之Run命令介绍 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 在使用Docker时,执行最多的命令某 ...

  7. maven常用命令介绍

    mvn 3.0.4 创建maven项目命令  mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles ...

  8. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

  9. Pacman命令介绍

    用pacman很久了,一直没有深入去研究到底它包含多少神秘的力量,每次都是pacman -Syu就简单的把所有升级更新问题搞定实在是让笔者懒惰了很多.不过也正是因为pacman的简单让笔者爱不释手,同 ...

随机推荐

  1. idea使用

    一.IDEA 的下载及安装 打开IDEA的官网,如:http://www.jetbrains.com/ 然后到了主界面,点击下载如图:   图1 我们这里下载zip的,将它下载到你要保存的目录下,其次 ...

  2. azkaban用户管理及权限配置

    参考:https://blog.csdn.net/zlx510tsde/article/details/52287931 官网:https://azkaban.readthedocs.io/en/la ...

  3. Java面试题 BAT 大公司面试题整理总结!

    本文只列出了问题,答案还是需要需要自己的总结,很多时候自己总结出来的语言在面试时比硬背的效果好很多. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互联网公司面试被问到的 ...

  4. TIMESTAMP类型字段在SQL Server和MySQL中的含义和使用

    公众号上转的满天飞的一篇文章,MySQL优化相关的,无意中瞄到一句“尽量使用TIMESTAMP而非DATETIME”,之前对TIMESTAMP也不太熟悉,很少使用,于是查了一下两者的区别. 其实,不管 ...

  5. js生成带有logo的二维码并保存成图片下载

    生成二维码,需要依赖jquery,先引入一个jquery,然后需要一个插件改变过了jquery-qrcode.js 插件代码(需要的自己打开看): /*! jquery-qrcode v0.14.0 ...

  6. vue中less文件全局引用

    1.先安装sass-resources-loader   npm install sass-resources-loader 2.然后在build->utils.js修改less配置 在less ...

  7. git 合并冲突 取消合并

    如果有冲突,会出现MERING 使用git merge  --abort命令解决冲突

  8. JS工具类

    封装了开发中常用的操作 并添加了一些扩展方法供调用 var util = { //获取Url中的参数(不支持中文) getParams: function() { var url = location ...

  9. Presto集群部署和配置

    参考文档:1.https://blog.csdn.net/zzq900503/article/details/79403949 prosto部署与连接hive使用                 2. ...

  10. 基于SDL2实现俄罗斯方块

    俄罗斯方块有多种旋转规则,我这里采用的是SRS.如果要改变旋转规则的话也很方便. SRS: 内容后续补充.. 代码:https://github.com/CknightX/sdl_Tetris 素材来 ...