如何在Postman中自动将WebSocket请求文本编码为Base64?
在Postman中自动将WebSocket请求文本转为Base64发送的方法
1. 创建WebSocket请求
- 打开Postman,点击左上角「New」→ 选择「WebSocket Request」,填入你的服务器WebSocket地址(如
ws://your-java-server:port/path)。
2. 设置发送前脚本
- 切换到「Scripts」标签页,选择「Before Send」选项卡(此脚本会在每条消息发送前执行)。
- 粘贴以下脚本:
// 获取消息框中的原始请求文本 const rawMessage = pm.message.getText(); // 将文本转为Base64编码(兼容UTF-8特殊字符) function utf8ToBase64(str) { return btoa(unescape(encodeURIComponent(str))); } const base64Encoded = utf8ToBase64(rawMessage); // 替换消息内容为编码后的字符串 pm.message.setText(base64Encoded);
3. 发送请求
- 切换回「Message」标签页,输入你的原始请求文本(例如:
Z3{10153705653168884,3,10006478,{10153705653168884,first_name,,c,,xxxx@gmail.com},{10154002612579928,10154149445273051}})。 - 点击「Send」,Postman会自动将原始文本转为Base64后发送给服务器。
可选:用环境变量管理原始文本
如果需要频繁修改请求内容,可以将原始文本存入环境变量:
- 点击右上角环境变量图标,创建/打开目标环境,添加变量
rawPayload,值为你的原始请求文本。 - 修改「Before Send」脚本:
const rawMessage = pm.environment.get("rawPayload"); function utf8ToBase64(str) { return btoa(unescape(encodeURIComponent(str))); } const base64Encoded = utf8ToBase64(rawMessage); pm.message.setText(base64Encoded);
- 在「Message」标签页输入任意内容(脚本会忽略此处内容,直接使用环境变量的值),点击「Send」即可。
验证结果
打开Postman控制台(点击左下角「Console」),可以查看发送的消息内容是否为Base64编码后的字符串,确认脚本生效。
内容的提问来源于stack exchange,提问作者Oren Shvalb
相关产品推荐
相关产品推荐

