相比于curl命令,Httpie提供更清晰友好的界面,并支持授权,代理等操作
主要特性
- 直观的语法
- 格式化和色彩化的终端输出
- 内置 JSON 支持
- 支持上传表单和文件
- HTTPS、代理和认证
- 任意请求数据
- 自定义头部
- 持久性会话
- 类 Wget 下载
- 支持 Python 2.6, 2.7 和 3.x
- 支持 Linux, Mac OS X 和 Windows
- 插件
- 文档
- 测试覆盖率
安装方法
pip install httpie
使用方法
Httpie命令为http
,所有选项(请求方法、请求头、请求数据)都用空格隔开
- 请求方法:GET/POST/DELETE/PUT/...
(无数据默认为GET,有数据默认为POST请求) - 请求头:以
:
分开,如Content-Type: application/json
- 请求数据:以
=
分开,多个参数用空格隔开,如name=张三 password=123456
,当参数值非字符串时,以:=
隔开,如a:=1 b:=true
请求默认为JSON类型,使用-f
则为表单类型
示例
- GET请求(参数可以写在url中)
http \'http://115.28.108.130:5000/add/?a=1&b=2\'
- POST表单类请求
http -f \'http://115.28.108.130:5000/api/user/login/\' name=张三 password=123456
- JSON格式请求
http \'http://115.28.108.130:5000/api/user/reg/\' name=张三 password=123456
- 携带Cookie
(中间有特殊字符的可以用\'\'
引起来)
http http://115.28.108.130:5000/api/user/getUserList/ Cookie:\'PYSESSID=05eac6ba-2eb6-11e9-a130-00163e06e52c;session=eyIwNWVhYzZiYS0yZWI2LTExZTktYTEzMC0wMDE2M2UwNmU1MmMiOnRydWV9.D0Q51A.u9XjrAZb-plUSl01QnNPkGXJPck\'
- Basic Auth接口
使用-a 用户名:密码
来发送Basic Auth接口,如:
http -a superhin001:hanzhichao520 https://api.github.com/user
参考文章:阳光岛主:HTTPIE 工具使用入门