java– 使用身份验证cookie打开WebSocket连接

java– 使用身份验证cookie打开WebSocket连接,第1张

概述我有与WebsocketsandcookiesinAndroid相同的问题,我一直试图解决它,因为第一条评论建议,WebSocketClient(URIserverUri,DraftprotocolDraft,MaphttpHeaders,intconnectTimeout)使用Java-WebSocket,以及查看许多其他API,如Jetty和AndroidAsync.但尽管如此,我无 @H_419_0@我有与Websockets and cookies in Android相同的问题,我一直试图解决它,因为第一条评论建议,

@H_419_0@

@H_419_0@WebSocketClIEnt( URI serverUri , Draft protocolDraft , Map httpheaders , int connectTimeout)

@H_419_0@使用Java-WebSocket,以及查看许多其他API,如Jetty和AndroidAsync.但尽管如此,我无法打开websocket连接.

@H_419_0@我有一个Apache http cookie,需要这个来通过WebSocket向服务器验证自己.将cookie转换为httpheader的正确方法是什么,或者是否有任何简洁的方法可以在连接到websocket时简单地在身份验证中添加整个cookie?也许我只是错过了明显的……

@H_419_0@对可能滥用条款的道歉,但我希望你能得到一般的想法.

@H_419_0@非常感谢任何帮助,谢谢!

解决方法:

@H_419_0@所以我实际上设法解决了它,结果发现它不是实际问题的cookie,而是websocket没有用有效的sslcontext初始化.这很容易通过以下方式解决:

@H_419_0@

WebSocketorderClIEnt webSocketorderClIEnt = new WebSocketorderClIEnt(uri, new Draft_17(), cmap, TIMEOUT);SSLContext sslContext = null;sslContext = SSLContext.getInstance( "TLS" );sslContext.init( null, null, null ); // will use java's default key and trust store which is sufficIEnt unless you deal with self-signed certificateswebSocketorderClIEnt.setWebSocketFactory(new DefaultSSLWebSocketClIEntFactory(sslContext));webSocketorderClIEnt.connectBlocking();
@H_419_0@使用WebSocketorderClIEnt:

@H_419_0@

private class WebSocketorderClIEnt extends WebSocketClIEnt {    public WebSocketorderClIEnt( URI serverUri, Draft draft, Map<String, String> headers, int timeout) {        super( serverUri, draft, headers, timeout );    }    @OverrIDe    public voID onopen( ServerHandshake handshakedata ) {        Log.w("connected", "true");    }    @OverrIDe    public voID onMessage( String message ) {        Log.w( "got: ", message );    }    @OverrIDe    public voID onClose( int code, String reason, boolean remote ) {        Log.w( "disconnected", ""+code  );    }    @OverrIDe    public voID one rror( Exception ex ) {        ex.printstacktrace();    }}
@H_419_0@希望这有助于将来可能遇到此问题的任何人.

总结

以上是内存溢出为你收集整理的java – 使用身份验证cookie打开WebSocket连接全部内容,希望文章能够帮你解决java – 使用身份验证cookie打开WebSocket连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存