gpt4 book ai didi

javascript - WebSocket JS 的自定义 header

转载 作者:可可西里 更新时间:2023-11-01 12:39:45 27 4
gpt4 key购买 nike

我找到了一个简单的解决方案,将 WebSocket 与基于 PHP 作为后端和 js+vuejs 作为前端的 Web 应用程序的自定义 header 一起使用。

我的应用程序应该连接到基于 Java 的 WebSocket 服务器以获取实时统计信息。受 Oauth2 保护的 WebSocket 服务器。所以我的应用程序应该添加像

这样的标题

"Authorization: bearer 647d14-b132-41b9-aa4c-9eafad5d9630 "

当连接到 WS 服务器时。但我无法添加此 header ,因为浏览器不支持自定义 header 。关于自定义 header 问题的回答HTTP headers in Websockets client API

我需要类似下面的代码

var serverWs = "ws://servername/stat"; var opts = { reconnection: false, transports: ['websocket'], extraHeaders: { 'Authorization': 'Bearer xxxx' } } var ws = new WebSocket(serverWs, opts);

存在什么解决方案?

最佳答案

Websocket 客户端 API 不允许发送自定义 header ,它们允许您设置一个 header ,即 Sec-WebSocket-Protocol,即应用程序特定的子协议(protocol)。您可以使用此 header 来传递不记名 token 。

另一种选择是在查询字符串中使用标记。

或者您可以在支持自定义 header 实现的客户端或服务器上使用一些库,例如。 https://github.com/crossbario/autobahn-python/tree/master/examples/twisted/websocket/echo_httpheaders

关于javascript - WebSocket JS 的自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39853185/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com