如何在Java中处理HTTPS get

如何在Java中处理HTTPS get,java,http,https,Java,Http,Https,所以我目前正在做一个项目,我们必须接受和处理HTTP请求,我已经成功地完成了。 还有一个可选任务是接受HTTPS请求,我不知道该怎么做,最好使用标准Java 对于常规HTTP,我使用常规ServerSocket accept(),然后通过其InputStream中的InputStreamReader从套接字读取,如下所示: BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

所以我目前正在做一个项目,我们必须接受和处理HTTP请求,我已经成功地完成了。 还有一个可选任务是接受HTTPS请求,我不知道该怎么做,最好使用标准Java

对于常规HTTP,我使用常规ServerSocket accept(),然后通过其InputStream中的InputStreamReader从套接字读取,如下所示:

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

问题是,当我尝试使用HTTPS时,我可以在HTTPS GET的第一行读取的消息只是乱码。是否也有处理此问题的方法?

您想要一个
SSLSocket
。更确切地说,您想要
SSLServerSocket
上接受
,该套接字是使用密钥库(或至少
KeyManager
)创建的,其中包含服务器的合适密钥和证书,它以同样的方式生成一个
SSLSocket
服务器套接字。accept
生成一个普通的
Socket
。出于测试/调试目的,您可以使用
keytool-genkeypair
生成包含密钥和自签名证书的密钥库(如果您没有、不能或不想获得真正的证书)。