

HTTP 接口调试利器!4.8 万 Star 的 HTTP 命令行客户端
source link: https://mp.weixin.qq.com/s/S3C7xxubmUnMIP4zGilzzg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【导语】: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,其命令和选项都更加友好,请各位参考官方文档,自己去尝试吧。
- EOF -
以上就是这个开源项目的介绍。如果觉得这个项目不错,欢迎转发推荐给更多人。
分享、点赞和在看
支持我们分享更多优秀开源项目,谢谢!
Recommend
-
140
调试利器-SSH隧道 · Issue #11 · gwuhaolin/blog · GitHub Owner gwuhaolin...
-
63
本文讲了GDB的数据断点使用和栈帧信息的查看以及其他使用技巧
-
59
在之前的文章中,我介绍了使用 Btrace 工具进行线上代码的debug ( https://www.cnblogs.com/yougewe/p/10180483.html ),其大致原理就是通过字节码注入的方式进行辅助...
-
35
大家好,我是小栈君,好久没更新文章了,确实抱歉!因为工作变动等原因导致最近拖更严重,但是请大家放心,我会一如既往的为大家带来自己的原创文章,供大家相互交流和学习,一起成长。今天小栈君带来的分享是go语言的调试利器DELVE。...
-
6
FFmpeg 命令行工具 - 高级特性、Web 音视频、调试和测试 这篇文章讲解 FFmpeg 命令行工具中使用高级特性、Web 音视频、调试和测试相关的功能。
-
12
SwiftCafe 享受代码的乐趣 HTTPS 调试利器 - BadSSLswift 发布于 2020年12月21日 BadSSL 苹果官方在 2016 年曾经宣布要强制所有第三方 APP 使用 HTTPS。 虽然由于种种原因,这个强制策略延期了。 但...
-
5
Bughole(虫洞)工具:预发断点调试PHP利器 Apr 25, 2018 Bughole工具实现了PHPStorm中95%以上的debug功能。借助该工具在预发布调试:PHP的业务代码、API甚至任务脚本,都将变得...
-
5
Kubernetes环境下基于Telepresence开发调试实践 以Kubernetes为基础的微服务下开发本地调试面临的问题 微服务是随着领域驱动设计,持续交付,容器化技术,基础...
-
7
Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal ...
-
6
前端利器躬行记(9)——WebView中的页面调试方法 - 咖啡机(K.F.J) - 博客园 咖啡机...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK