我打开了HttpsURLConnection。 我怎样才能连接"我的ssl socket连接到这个连接,意味着不要再做一次ssl握手,也不要改变我的密码。
URL url = new URL ("https://example.com:8080");
HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();
connection.connect();
SSLSocketFactory ssf = connection.getSSLSocketFactory();
SSLSocket socket = (SSLSocket) ssf.createSocket("example.com", 8080);
//这里我想发送一个带有套接字的消息,它将与https连接在同一个ssl会话中。
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(s.getOutputStream()));
out.write("Hello");
out.flush();
out.close();
在Java中真的要做这样的事吗?
答案 0 :(得分:1)
默认情况下会发生这种情况,只要会话仍然有效,并且只要你没有弄乱SSLContexts.
答案 1 :(得分:-1)
AFAIK,您无法将新套接字附加到现有SSL会话。如果要在原始SSL会话上发送/读取数据,请使用URLConnection
对象创建的原始套接字连接。您可以使用URLConnection.getInputStream()
和URLConnection.getOutputStream()
方法获取输入/输出流:
URL url = new URL ("https://example.com:8080");
HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();
connection.connect();
...
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
out.write("Hello");
out.flush();
out.close();