websocket 如何删除socket.io默认参数

jdg4fx2g  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(293)

我想使用Vue 2连接外部服务器的Web Socket API。因此,我安装了socket.io库。但是,当我运行它时,输入了我不想要的参数值。
请求URL:wss://loki.test.shop/loki/api/v1/tail?query={app=% 22 test-api %22}/?EIO=4&transport=WebSocket输入了我不想要的参数值:/?EIO=4&transport=WebSocket
在查看官方文档后,它似乎是默认参数值。因此我搜索并发现需要更改服务器端和客户端的源代码。但WebSocket API是外部API,我不能接触。前台应该采取什么措施来删除默认参数值?
请帮帮我。
下面是我写的代码。

ioclientConnect(){
      const wssUrl = 'wss://loki.test.shop'
      const socket = io(wssUrl, {
        path: '/loki/api/v1/tail?query={app=%22test-api%22}',
        transports: ["websocket"],
        extraHeaders: {
          'X-Scope-OrgID': 'test'
        },
        cors: {
          origin: "*",
        },
        timestampRequests: false
      })

      socket.on('message', (message)=>{
        console.log('receive', message)
      })
    }

字符串

swvgeqrz

swvgeqrz1#

您可能无法直接在服务器端控制或删除这些参数。
但是,在客户端,您可以修改配置以防止将这些参数添加到URL中。您当前的配置为:

const socket = io(wssUrl, {
  path: '/loki/api/v1/tail?query={app=%22test-api%22}',
  transports: ["websocket"],
  extraHeaders: {
    'X-Scope-OrgID': 'test'
  },
  cors: {
    origin: "*",
  },
  timestampRequests: false
})

字符串
尝试删除transmits和timestampRequests选项:

const socket = io(wssUrl, {
  path: '/loki/api/v1/tail?query={app=%22test-api%22}',
  extraHeaders: {
    'X-Scope-OrgID': 'test'
  },
  cors: {
    origin: "*",
  },
})

相关问题