相比于curl命令,Httpie提供更清晰友好的界面,并支持授權(quán),代理等操作
主要特性
- 直觀的語法
- 格式化和色彩化的終端輸出
- 內(nèi)置 JSON 支持
- 支持上傳表單和文件
- HTTPS、代理和認(rèn)證
- 任意請求數(shù)據(jù)
- 自定義頭部
- 持久性會話
- 類 Wget 下載
- 支持 Python 2.6, 2.7 和 3.x
- 支持 Linux, Mac OS X 和 Windows
- 插件
- 文檔
- 測試覆蓋率
安裝方法
pip install httpie
使用方法
Httpie命令為http,所有選項(xiàng)(請求方法、請求頭、請求數(shù)據(jù))都用空格隔開
- 請求方法:GET/POST/DELETE/PUT/...
(無數(shù)據(jù)默認(rèn)為GET,有數(shù)據(jù)默認(rèn)為POST請求) - 請求頭:以
:分開,如Content-Type: application/json - 請求數(shù)據(jù):以
=分開,多個(gè)參數(shù)用空格隔開,如name=張三 password=123456,當(dāng)參數(shù)值非字符串時(shí),以:=隔開,如a:=1 b:=true
請求默認(rèn)為JSON類型,使用-f則為表單類型
示例
- GET請求(參數(shù)可以寫在url中)
http 'http://115.28.108.130:5000/add/?a=1&b=2'

Httpie發(fā)送GET請求
- POST表單類請求
http -f 'http://115.28.108.130:5000/api/user/login/' name=張三 password=123456

Httpie發(fā)送POST表單類請求
- JSON格式請求
http 'http://115.28.108.130:5000/api/user/reg/' name=張三 password=123456

Httpie發(fā)送JSON格式請求
- 攜帶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 用戶名:密碼來發(fā)送Basic Auth接口,如:
http -a superhin001:hanzhichao520 https://api.github.com/user

Httpie發(fā)送Basic Auth接口
參考文章:陽光島主:HTTPIE 工具使用入門