Java 如何创建持久的https连接
我对爪哇和它所有的荣耀都很陌生 使用HttpsUrlConnection,我可以毫无问题地完成大多数剩余操作。 但是,如何创建持久的Https连接?我需要这个连接来接收来自服务器的异步消息。是否有一个只使用java.net包的简单java解决方案?我不是在寻找优雅的解决方案,只是一些简单和有效的方法 这是我到目前为止所拥有的,似乎无法从服务器接收到任何信息。我得到了一个200的状态作为回应,但之后什么都没有了。我确实验证了服务器实际上正在发送异步消息。我可以使用不同的工具接收它们。(将python请求与流一起使用) 在此代码之前,我已成功登录并获得所有必需的Cookie和authToken。Cookie管理器已启用。additionalAuthToken(conn)负责添加所需的授权内容。这在其他REST调用中被证明是有效的,所以我不怀疑授权是个问题。同样,如果授权是个问题,服务器将不会返回200Java 如何创建持久的https连接,java,http,url,https,Java,Http,Url,Https,我对爪哇和它所有的荣耀都很陌生 使用HttpsUrlConnection,我可以毫无问题地完成大多数剩余操作。 但是,如何创建持久的Https连接?我需要这个连接来接收来自服务器的异步消息。是否有一个只使用java.net包的简单java解决方案?我不是在寻找优雅的解决方案,只是一些简单和有效的方法 这是我到目前为止所拥有的,似乎无法从服务器接收到任何信息。我得到了一个200的状态作为回应,但之后什么都没有了。我确实验证了服务器实际上正在发送异步消息。我可以使用不同的工具接收它们。(将pytho
URL obj = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
conn.setRequestProperty("Connection", "keep-alive");
conn.setRequestMethod("GET");
additionalAuthToken(conn);
conn.setDoOutput(true);
conn.setDoInput(true);
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
System.out.println(url);
System.out.println(conn.getResponseMessage());
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while( true ) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
Thread.sleep(100);
System.out.println("Go around");
}
这可能吗?如果没有,您对实现持久https通道的建议是什么?我从谷歌搜索结果中听说了netty和其他一些人。现在,我真的希望有一个简单的java.net解决方案,而没有其他依赖项
真诚地,
Tai就URLConnection而言,以下是有关如何使其持久化的所有信息:
如果可以的话,我建议您使用以下示例:特别是显示了持久连接的基础知识 以防其他人正在寻找答案,请跟随。它确实有效。事实上,这确实有效。问题是我在一个单独的函数中接收代码,该函数关闭流并返回。在键入问题时,我将代码移到这里,而不会关闭BufferReader。现在,我得到了稳定的异步消息。因此,这个故事的寓意是不要关闭小溪。这段代码确实有效。