如何使用c# ClientWebSocket设置自定义的sec - websocket协议?



我正在尝试将我的连接授权给第三方websocket主机,他们需要将JWT设置为协议。

我能够包括这样的标题,但我得到一个错误回来。有更好的方法吗?

var client = new ClientWebSocket();
client.Options.SetRequestHeader("Sec-WebSocket-Protocol", "my JWT");
await client.ConnectAsync(...);

我得到的错误是这样的:

The WebSocket client request requested '' protocol(s),
but server is only accepting '...my JWT...' protocol(s).

我试图在c#中完成这项工作是不成功的,尽管我能够通过Postman Websockets (beta)正确连接,只需设置Sec-WebSocket-Protocol标头,然后Postman自动找出其他标头。

似乎已经工作的解决方案是,我不允许设置Sec-WebSocket-Protocol头自己。我必须用client.Options.AddSubProtocol("my JWT")代替。

相关内容

  • 没有找到相关文章

最新更新