HTTPie工具
2019-11-12 本文已影响0人
猪儿打滚
简介
HTTPie是一个http的命令行客户端,这个工具提供了简介的http命令,可以通过十分子让的语法发送http请求,并且输出彩色的响应数据。
主要特点
- 支持linux、mac os x、windows
- 支持python
- 终端输出格式化、彩色化
- 支持json
- 支持https、代理和认证
- 会话持久性
- 可自定义头部
- 插件化
- 文档化
安装
-
Mac OS X
brew install httpie // brew 命令安装 port install httpie // ports 命令安装
-
Linux
# CentOS 5.6/6.5/7.2都试过 easy_install httpie # Debian, Ubuntu, etc. apt-get install httpie # Fedora, CentOS, RHEL, … yum install httpie # Arch Linux pacman -S httpie
-
Windows
# 需安装pip $ pip install --upgrade pip setuptools $ pip install --upgrade httpie
查看帮助
# cmd输入
http
# help手册
usage: http [--json] [--form] [--pretty {all,colors,format,none}]
[--style STYLE] [--print WHAT] [--headers] [--body] [--verbose]
[--all] [--history-print WHAT] [--stream] [--output FILE]
[--download] [--continue]
[--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH]
[--auth USER[:PASS]] [--auth-type {basic,digest}]
[--proxy PROTOCOL:PROXY_URL] [--follow]
[--max-redirects MAX_REDIRECTS] [--timeout SECONDS]
[--check-status] [--verify VERIFY]
[--ssl {ssl2.3,tls1,tls1.1,tls1.2}] [--cert CERT]
[--cert-key CERT_KEY] [--ignore-stdin] [--help] [--version]
[--traceback] [--default-scheme DEFAULT_SCHEME] [--debug]
[METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]
http: error: the following arguments are required: URL
httpie命令
- 默认请求方式是
GET
http url
- 指定请求方式(如POST、PUT、HEADE、DELETE )
http 请求方式 url 参数名=参数值
- 显示详细的请求信息
http -v
- 只显示Header
http -h
- 只显示Body
http -b
- 下载文件
http DELETE
- 提交表单
-f
参数可以序列化数据字段,同时将Content-Tpye
设置为application/x-www-form-urlencoded; charset=utf-8
http -f POST url 参数名=参数值
- 传递json数据的请求
1.httpie默认使用的Content-Type
就是json
,所以当不指定数据类型发送数据的时候,会自动把数据序列化成json对象再发送
2.如果JSON参数不是字符串,则需要使用:=
分隔开,比如:
http PUT url user=root password=root age:=18 gender:=1
- 模拟发松form的Post请求,
Content-Type: application/x-www-form-urlencoded; charset=utf-8
http --form POST 参数名=参数值'
- 修改请求头, 使用:分隔(请求的host和后面Referer的url的host是一致)
http url User-Agent:mimvp-agent/1.0 'Cookie:a=b;b=c' Referer:host
- 使用http代理
http --proxy=http:http://192.168.1.121:8080 url
http --proxy=http:http://user:password@192.168.1.254:8080 url