【导语】:Python实现的HTTP申请命令行客户端,我了解为curl的Python版本,然而提供了更敌对,更易使用的命令及选项。
简介
HTTPie是应用Python实现的HTTP命令行工具,提供了更人性化、交互性更好的命令和选项,能够用来做测试、调试以及与HTTP API服务器交互,http和https命令能够用来发送任意的http申请,应用天然简略的语法,提供格式化和色彩输入。
HTTPie具备以下次要性能特点:
1、天然直观的语法
2、可格式化终端输入,包含色彩的辨别
3、反对JSON
4、反对表单和文件上传
5、反对HTTPS、代理和身份验证
6、能够发送任意申请数据
7、自定义申请头
8、会话长久化
9、相似wget的下载性能
10、反对Linux、macOS和Windows
11、反对插件
12、欠缺的文档反对
下载安装
我的项目源码地址:
https://github.com/httpie/httpie
我的项目测试
demo:https://httpie.io/run
运行环境要求Python3.6版本及以上。Windows平台上的装置需确保setuptools版本是最新的,应用以下命令进行装置:
$ pip install --upgrade pip setuptools$ pip install --upgrade httpie
其余平台上的装置办法参考我的项目地址中的readme即可,写得很清晰。同时,HTTPie的官网还提供了一个工具,能够间接在浏览器上执行HTTPie命令,用来尝鲜、测试都很不便。
简略应用
从官网的几个例子来看看HTTPie的用法。
1、这行命令示意,向地址httpbin.org发送PUT申请,自定义申请头为X-API-Token:123,申请数据格式为JSON,具体的键值为name=John。从这个例子能够看得出,http命令前面追随申请办法(PUT、DELETE、POST等),自定义的申请头用XX:YY的格局示意,JSON数据用XX=YY示意。
http PUT httpbin.org/put X-API-Token:123 name=John
执行后果为:
2、这行命令示意,向地址httpbin.org以表单的形式发送POST申请,-f选项示意表单格局提交数据。
http -f POST httpbin.org/post hello=World
执行后果为:
3、这行命令示意,向地址httpbin.org发送GET申请,-v示意输入整个HTTP申请响应替换的数据(也有其余选项,比方—headers,-h仅打印响应头,--body,-b仅打印响应数据)。如果没有显式指明申请办法,当没有发送数据时,默认为GET办法,当有发送数据时,默认为POST办法。
http -v httpbin.org/get
执行后果为:
4、这行命令示意,向指标地址发送POST申请。咱们晓得github是须要登录认证的,这也是-a(--auth)这个选项的作用,-a前面紧跟着用户名,在上面命令执行的过程中,会交互式地要求你输出明码。
http -a USERNAME POST https://api.github.com/repos/httpie/httpie/issues/83/comments body='HTTPie is awesome! :heart:'
执行过程为:
5、这行命令示意,向地址httpbin.org上传文件data.json,应用了重定向符号作为文件输出。
http httpbin.org/post < files/data.json
相应地,下载文件并重定向到本地保留的例子如下:
http httpbin.org/image/png > image.png
以上就是官网提供的几个简略例子,然而HTTPie所反对的性能远远不止这些,比方mutipart/form-data的文件上传、HTTP代理转发、分块传输、HTTPS的证书验证、指定SSL版本、格式化输入等许许多多罕用、好用的性能,对于常常须要调试HTTP网络的同学来说,这相对是一个好工具,相比curl,其命令和选项都更加敌对,请各位参考官网文档,本人去尝试吧。
开源前哨
日常分享热门、乏味和实用的开源我的项目。参加保护 10万+ Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。