我了解如何使用 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/