受到 我写了一个堪称愚蠢的小工具 鼓舞,遂决定把 23 年写的一个工具发出来,ddrpa/corgi 可以用来打印收到的 HTTP 请求。
这个工具本质上是对下面这段脚本的扩展:
listen_port () {
while true
do
{
echo -e 'HTTP/1.1 200 OK\r\n'
} | nc -l -v $1
echo '\r\n'
done
}
支持的功能有:
$ ./corgi -h
usage: corgi [-h|--help] [-p|--port <integer>] [--max-printable-size <integer>]
[--pretty] [--fetch "<value>"]
Corgi HTTP Request Logger, version 1.1.0
Arguments:
-h --help Print help information
-p --port 监听指定端口. Default: 8000
--max-printable-size 请求体最大打印长度( 0
表示不截断),JSON 和 URLEncoded
表单不受影响). Default: 256
--pretty 特定类型请求体输出美化
--fetch 转发请求到指定地址
对接调试接口时,可以在代码有错误(或一行代码都没写)的情况下知道对方发送了什么。
效果演示(监听 8000 端口,打印收到的 HTTP 请求):
$ ./corgi -p 8000 --pretty
2023/07/06 16:27:32 corgi is waiting on :8000
2023/07/06 16:27:38 POST /proxy?url=/iot/alipayApi/faceAuth/getAlipayUserInfo HTTP/1.1
RemoteAddr: [::1]:57382
Host: localhost:8000
cookie: Cookie_1=value
authorization: Bearer Igp5d444444444444444
user-agent: PostmanRuntime/7.32.3
accept: */*
accept-encoding: gzip, deflate, br
content-type: application/x-www-form-urlencoded
content-length: 98
postman-token: 9a00e0be-f921-4605-b2f3-b577c1e263c2
connection: keep-alive
payload={"username":"admin","password":"wecsnuigb43j@_f"}
method=PATCH
为什么说这个工具很愚蠢,因为:
要是您觉得这个小工具愚蠢的比较清澈的话,我还有一堆。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.