前言
老实说,最开始我是个坚定的图形化界面的支持者。觉得命令行太过复杂而GUI界面更直观易用。
但是我之前的电脑只有8G内存,再加上我之前用的是Mac系统,它黄金般的内存价格让我不敢轻易升级内存。所以我只能选择命令行工具来节省内存占用。虽然现在没有内存焦虑了,但之前命令行的使用习惯还是保留了下来。
在http请求这一块,我选择了HTTPie这个工具,来替代Postman
。它的功能非常强大,使用也很简单,完全可以满足我日常调试接口的需求。
这里上张截图比较下它和curl
的区别:
它提供更加人性化的语法而友好的输出格式。你不需要再记住curl
的各种参数,只需要简单的命令就可以完成请求。
安装
各种包管理器直接安装即可。
|
|
或者通过pip
安装:
|
|
使用
只介绍一些我的常用功能,其他功能可以查看官方文档。
GET 请求
|
|
你也可以加上方法名, 我一般都会加上,这样更加直观:
|
|
上面的是http协议,将前面的http
换成https
就是https协议了。
拼接url参数,用这种形式(key==value):
|
|
POST 请求
|
|
传参, JSON格式:
|
|
默认就是json格式,HTTPie
看请求参数里有数据时,就会自动把请求头Content-Type
设置为application/json
。
如果是json格式的请求数据,除了字符串用"=",其他类型都用":="。这里再举一个多数据类型的例子:
|
|
如果某个字段要用json或者数组格式,可以用单引号括起来。把它当成Raw JSON就行了。
当请求参数太复杂的话,可以将参数单独放到一个json文件里,然后通过重定向的方式传入:
|
|
form表单形式,加个-f
参数,它会把请求头Content-Type
设置为application/x-www-form-urlencoded
:
|
|
通用用法
加个-b
参数,只显示响应体:
|
|
-s
参数,选择主题:
|
|
鉴权相关的可以这么用:
|
|
其中-A
指定鉴权类型,-a
指定token。我经常将PROJECT_TOKEN
等敏感信息放到环境变量里。通过${}
的形式传入。
还有很多高级用法没有列出来,各位可以下载下来自己http --help
查看,或者参考官方文档。