作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用来自 TooTallNate 的 java_websocket 库在我的 android 上试用 websocketclient。在 ws 上一切正常。对于 wss,我的本地开发服务器有一个自签名证书,我试图在我的客户端中使用 instructions from here 绕过它.然而,
WebSocketClient.setWebSocketFactory(new DefaultSSLWebSocketClientFactory(sc));
不解析 setWebSocketFactory
或 DefaultSSLWebSocketClientFactory
。我是否在 WSS 中的 SSL 支持的编译 header 中遗漏了某些内容?这是我的依赖
compile 'org.java-websocket:Java-WebSocket:1.3.4'
而且这个 header 也没有解析
import org.java_websocket.client.DefaultSSLWebSocketClientFactory;
你能告诉我我错过了什么吗?谢谢!
最佳答案
没关系。得到它的工作。看起来 API 当前有所不同。
使用来自 https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java 的这个 fragment 接受自签名证书,其中 mWebSocketClient
是 WebSocketClient
类型的对象。
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
X509Certificate[] myTrustedAnchors = new X509Certificate[0];
return myTrustedAnchors;
}
@Override
public void checkClientTrusted(X509Certificate[] certs,
String authType) {}
@Override
public void checkServerTrusted(X509Certificate[] certs,
String authType) {}
} };
try {
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustAllCerts, new SecureRandom());
SSLSocketFactory factory = sslContext.getSocketFactory();
mWebSocketClient.setSocket(factory.createSocket());
mWebSocketClient.connectBlocking();
}
catch (Exception e){
e.printStackTrace();
}
关于android - java websocket 无法解析 setwebsocketfactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44572162/
我正在使用来自 TooTallNate 的 java_websocket 库在我的 android 上试用 websocketclient。在 ws 上一切正常。对于 wss,我的本地开发服务器有一个
我是一名优秀的程序员,十分优秀!