vue项目使用websocket添加自定义header头
vue 2024-08-22 16:10:23

常用方法

方法 1:使用标准 HTTP 头

WebSocket 的握手阶段使用 HTTP 协议进行,因此可以在 WebSocket 的 HTTP 请求头中添加 Authorization 字段。示例代码如下:

JavaScript Code复制内容到剪贴板
  1. const socket = new WebSocket('wss://example.com/socket');  
  2.   
  3. socket.addEventListener('open', (event) => {  
  4.   // 在握手阶段添加Authorization头  
  5.   socket.send('Authorization: Bearer ' + YOUR_TOKEN);  
  6. });  
  7.   
  8. socket.addEventListener('message', (event) => {  
  9.   // 处理接收到的消息  
  10.   console.log('Received:', event.data);  
  11. });  

 

方法 2:使用自定义

WebSocket 子协议通过使用自定义的 WebSocket 子协议,可以在握手请求中定义 Authorization 信息。这需要服务器端和客户端都支持相应的子协议。示例代码如下:

JavaScript Code复制内容到剪贴板
  1. const socket = new WebSocket('wss://example.com/socket''custom-protocol');  
  2.   
  3. socket.addEventListener('open', (event) => {  
  4.   // 在握手阶段通过自定义协议传递Authorization信息  
  5.   socket.send('Authorization: Bearer ' + YOUR_TOKEN);  
  6. });  
  7.   
  8. socket.addEventListener('message', (event) => {  
  9.   // 处理接收到的消息  
  10.   console.log('Received:', event.data);  
  11. });  

 

方法 3:使用 URL 参数

在 WebSocket 的连接 URL 中直接携带 Authorization 信息,这种方法简单直接,适用于一些简单的场景。示例代码如下:

JavaScript Code复制内容到剪贴板
  1. const socket = new WebSocket('wss://example.com/socket?authorization=' + YOUR_TOKEN);  
  2.   
  3. socket.addEventListener('message', (event) => {  
  4.   // 处理接收到的消息  
  5.   console.log('Received:', event.data);  
  6. });  

 

方法 4:使用 WebSocket 的扩展

某些 WebSocket 库支持使用扩展来携带 Authorization 信息。这通常需要在 WebSocket 的初始化阶段进行相应的设置。示例代码如下:

JavaScript Code复制内容到剪贴板
  1. const socket = new WebSocket('wss://example.com/socket', ['authorization']);  
  2.   
  3. socket.addEventListener('open', (event) => {  
  4.   // 在初始化阶段添加Authorization信息  
  5.   socket.send('Authorization: Bearer ' + YOUR_TOKEN);  
  6. });  
  7.   
  8. socket.addEventListener('message', (event) => {  
  9.   // 处理接收到的消息  
  10.   console.log('Received:', event.data);  
  11. });  

 

 

本文来自于:https://apifox.com/apiskills/how-to-add-header-authorization

上一篇 颜色选择器
下一篇 返回列表
Powered by yoyo苏ICP备15045725号