postman测试websocket接口(带鉴权)
1. 前言
目前开发实时日志推送,确认了两个方案:一个是通过transfer-encoding:chunked分块传输的方式将日志文件分块发送,当不发送长度为0的块时回复都不会停止,这样可以一直传输tail的日志文件(这个思路是根据supervisor的http服务提供的tail功能来的,通过分析其服务请求发现了这种方式,感觉挺巧妙的);还有一个方案就是目前比较广泛的websocket方式,后端创建websocket服务,前端连接后服务端一直推送tail的文件内容给到前端,日志文件之类的可以通过get的param参数传递也可以直接发送消息给服务端,相对比较灵活。
思路确认好之后很快开发完毕了,之后查了一下postman测试websocket的方式,发现V8.5+已经支持websocket接口测试了,虽然目前仍然是beta版本,但是试了一下之后确实可以,这里做下总结,方便小伙伴们使用。
2. 无用户鉴权情况下
在无用户鉴权情况下比较简单,直接创建websocket请求后输入地址或域名进行连接测试即可(根据官网文档:https://blog.postman.com/postman-supports-websocket-apis/):
有参数的增加参数,没有的直接进行connect即可:
3. 有用户鉴权的情况下
部分接口是需要登录后才能访问的,所以可能需要设置Authorization,这个不像之前的HTTP接口已经有了这个选项可以直接设置,而是需要自己在Headers中添加,之后鉴权通过就可以正常连接并接受到消息了(401错误一般就是未通过鉴权没有访问权限):
4. 最后
后续有机会的话会将go进行实时日志显示的功能总结出来,这里先提供个思路:go-frame(或不用框架直接http升级websocket)+websocket+tail:
"github.com/gorilla/websocket"
"github.com/hpcloud/tail"
|