java - 使用 Java 连接到网站 - 处理 SSL 明文错误、代理等

标签 java ssl

我了解如何使用 JSoup 或什至 base Java 等工具连接到普通网站,并且以前也这样做过。不幸的是,现在我正在尝试连接到一个特定的网站,该网站给我带来了太多问题,我无法在不深入研究网络协议(protocol)的情况下解决。

我正在尝试制作一个简单的应用程序,暂时需要连接到以下网站才能登录:

lms.topicanative.edu.vn

问题是,我什至无法连接到该站点。使用过去对我有用的方法导致错误阅读:

Unrecognized SSL message, plaintext connection?

我尝试使用 Java 本身并手动设置代理,但收到超时错误。我无法正确修复此错误,因为坦率地说,我不知道所有可能失败的步骤。我希望在这方面有更多知识的人可以告诉我是什么让我需要连接到的网站如此困难,我该如何连接它?

这是我到目前为止所尝试的以及相应的错误:

方法一:JSoup 代码:

Document logInPage = Jsoup.connect("https://lms.topicanative.edu.vn").get();

错误:

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

方法二:Java 代码:

  URL logInURL = new URL("https://lms.topicanative.edu.vn");

  SocketAddress logInSocketAddress = new InetSocketAddress(InetAddress.getByName("123.31.18.20"), 8080);
  Proxy logInProxy = new Proxy(Proxy.Type.HTTP, logInSocketAddress);
  HttpsURLConnection logInPageConn = (HttpsURLConnection)logInURL.openConnection(logInProxy);
  System.out.println(logInPageConn.getResponseCode());

错误:

java.net.ConnectException: Connection timed out: connect

更新

我已将代码修改为以下内容:

代码:

URL logInURL = new URL("https://lms.topicanative.edu.vn");
SocketAddress logInSocketAddress = new InetSocketAddress(InetAddress.getByName("123.31.18.20"), 443);
Proxy logInProxy = new Proxy(Proxy.Type.HTTP, logInSocketAddress);
HttpsURLConnection logInPageConn = (HttpsURLConnection)logInURL.openConnection(logInProxy);
System.out.println(logInPageConn.getResponseCode());

错误:

java.net.SocketException: Unexpected end of file from server

最佳答案

导入SSL证书和密码后尝试连接。

关于java - 使用 Java 连接到网站 - 处理 SSL 明文错误、代理等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38350897/

相关文章:

ssl - Prestashop 1.6 + Nginx + SSL + 多语言站点 - 重写规则

java - 执行自定义 native 查询时无法提取 ResultSet

java - 如何在 JUnit5 中为测试套件设置自定义测试执行顺序?

java - JPopupMenu 中的居中 JLabel

java - Android:使用带有动态 url 的 Retrofit

java - 从 java.lang.reflect 方法调用捕获 stdout

asp.net - IIS 是否可以要求 SSL 客户端证书而不将它们映射到 Windows 用户?

php - 如何轻松创建 HTTPS 登录表单?

Java 小程序 : Reverse Engineering HTTP Calls

swift - Apple 传输安全