本文最后更新于:2024年1月14日 晚上
HTTPie 是一个 HTTP 的命令行客户端,目标是让 CLI 和 web 服务之间的交互尽可能的人性化,本文介绍相关内容。
简介
HTTPie 工具提供了简洁的 http 命令,允许通过自然的语法发送任意 HTTP 请求数据,展示色彩化的输出。HTTPie 可用于与 HTTP 服务器做测试、调试和常规交互 —— 米扑博客
主要特性
- 直观的语法
- 格式化和色彩化的终端输出
- 内置 JSON 支持
- 支持上传表单和文件
- HTTPS、代理和认证
- 任意请求数据
- 自定义头部
- 持久性会话
- 类 Wget 下载
- 支持 Python 2.6, 2.7 和 3.x
- 支持 Linux, Mac OS X 和 Windows
- 插件
- 文档
- 测试覆盖率
安装
httpie 是跨平台命令,支持 Mac OS X、 Linux、 Windows
Mac OS X
1 2
| brew install httpie // brew 命令安装 port install httpie // ports 命令安装
|
Linux
1 2 3 4 5 6 7 8 9 10
| easy_install httpie (CentOS 5.6/6.5/7.2 都成功)
# Debian, Ubuntu, etc. apt-get install httpie
# Fedora, CentOS, RHEL, … yum install httpie
# Arch Linux pacman -S httpie
|
Windows
1 2 3
| # Make sure we have an up-to-date version of pip and setuptools: pip install --upgrade pip setuptools pip install --upgrade httpie
|
帮助
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # http usage: http URL http: error: the following arguments are required: URL
|
命令
显示请求信息(包含返回头200)
显示详细的请求(包含请求和返回头200)
1 2 3 4
| http -h mimvp.com http http http
|
只显示Body
下载文件
模拟提交表单
1
| http -f POST mimvp.com username='mimvp-user'
|
请求删除的方法
传递JSON数据请求(默认就是JSON数据请求)
1
| http PUT mimvp.com username='mimvp-user' password='mimvp-pwd'
|
如果JSON数据存在不是字符串则用:=分隔,例如
1
| http PUT mimvp.com username='mimvp-user' password='mimvp-pwd' age:=28 a:=true streets:='["a", "b"]'
|
模拟Form的Post请求, Content-Type: application/x-www-form-urlencoded; charset=utf-8
1
| http --form POST mimvp.com username='mimvp-user'
|
模拟Form的上传, Content-Type: multipart/form-data
1
| http -f POST example.com/jobs username='mimvp-user' file@~/test.pdf
|
修改请求头, 使用:分隔
1
| http mimvp.com User-Agent:mimvp-agent/1.0 'Cookie:a=b;b=c' Referer:http://mimvp.com/
|
认证
1 2
| http -a username:password mimvp.com http
|
使用http代理
1 2 3 4
| http --proxy=http:http://217.107.197.174:8081 proxy.mimvp.com http --proxy=http:http://user:pass@217.107.197.174:8081 proxy.mimvp.com http --proxy=https:http://112.114.96.34:8118 proxy.mimvp.com http --proxy=https:http://user:pass@112.114.96.34:8118 proxy.mimvp.com
|
参考资料
文章链接:
https://www.zywvvd.com/notes/coding/internet/httpie/httpie/