使用任何支持此功能的HTTP头客户端,似乎很容易将自定义HTTP头添加到您的websocket客户端,但我不知道如何使用JSON API来做这件事。
然而,似乎应该有支持these headers in the spec。
有谁知道如何做到这一点?
var ws = new WebSocket("ws://example.com/service");
具体地说,我需要能够发送HTTP Authorization头。
发布于 2018-02-05 17:04:48
更多的是一种替代解决方案,但所有现代浏览器都会将域cookie与连接一起发送,因此使用:
var authToken = 'R3YKZFKBVi';
document.cookie = 'X-Authorization=' + authToken + '; path=/';
var ws = new WebSocket(
'wss://localhost:9000/wss/'
);
以请求连接头结束:
Cookie: X-Authorization=R3YKZFKBVi
发布于 2016-03-09 19:20:33
当您需要使用JavaScript WebSockets接口建立WebSockets连接时,不能发送自定义头部。您可以通过使用第二个WebSocket类构造函数来使用Subprotocols
头:
var ws = new WebSocket("ws://example.com/service", "soap");
然后,您可以在服务器上使用Sec-WebSocket-Protocol
密钥获得子协议报头。
还有一个限制,子协议标头的值不能包含逗号(,
)!
发布于 2017-03-04 21:50:52
您不能添加头,但如果您只需要在连接时将值传递到服务器,则可以在url上指定查询字符串部分:
var ws = new WebSocket("ws://example.com/service?key1=value1&key2=value2");
该URL是有效的,但是--当然--您需要修改服务器代码来解析它。
https://stackoverflow.com/questions/4361173
复制相似问题