Java Jsoup HTTPS连接

Java Jsoup HTTPS连接,java,ssl,login,https,jsoup,Java,Ssl,Login,Https,Jsoup,所以,我试图登录一个网站,保存cookies并连接到另一个网站,同时提供cookies并继续抓取网站。所有这些都使用Jsoup和常规java(我计划稍后再使用Android)。我的问题是,带有loginform的站点正在使用https,而我得到的是https。在四处搜索后,我找到了。描述的方法涉及从登录站点获取SSL证书,并将扩展名从.crt更改为.jks。然而,我不断地得到错误,因此无法使它工作。这是我的密码 public static void main(String args[]) thr

所以,我试图登录一个网站,保存cookies并连接到另一个网站,同时提供cookies并继续抓取网站。所有这些都使用Jsoup和常规java(我计划稍后再使用Android)。我的问题是,带有loginform的站点正在使用https,而我得到的是https。在四处搜索后,我找到了。描述的方法涉及从登录站点获取SSL证书,并将扩展名从.crt更改为.jks。然而,我不断地得到错误,因此无法使它工作。这是我的密码

public static void main(String args[]) throws IOException {

                //Log in
                Connection.Response login = Jsoup.connect("https://login.emu.dk")
                                .data("login", "myUsername")
                                .data("pass", "myPassword")
                                .method(Method.POST)
                                .execute();

                //Keep logged in
                Map<String,String> loginCookies = login.cookies();

                ArrayList<Lesson> unsorted = new ArrayList<Lesson>();
                URL elevplan = new URL("https://elevplan.dk");
                CSVParser csvParser = new CSVParser();

                System.setProperty("javax.net.ssl.trustStore", "/Users/philipjakobsen/Desktop/login.emu.dk.jks");
                System.setProperty("javax.net.ssl.trustStore", "/Users/philipjakobsen/Desktop/login.emu2.dk.jks");

                Document doc = Jsoup.connect("https://elevplan.dk")
                .cookies(loginCookies)
                .get();
publicstaticvoidmain(字符串args[])引发IOException{
//登录
Connection.Response login=Jsoup.connect(“https://login.emu.dk")
.data(“登录”、“我的用户名”)
.数据(“通行证”、“我的密码”)
.method(method.POST)
.execute();
//保持登录
Map loginCookies=login.cookies();
ArrayList unsorted=新的ArrayList();
URL elevplan=新URL(“https://elevplan.dk");
CSVParser CSVParser=新的CSVParser();
setProperty(“javax.net.ssl.trustStore”,“/Users/philipjakobsen/Desktop/login.emu.dk.jks”);
setProperty(“javax.net.ssl.trustStore”,“/Users/philipjakobsen/Desktop/login.emu2.dk.jks”);
Document doc=Jsoup.connect(“https://elevplan.dk")
.cookies(loginCookies)
.get();
那么,有人知道如何允许Jsoup进行https连接吗?如前所述,我想将我的应用程序“移植”到Android,在这种情况下,我认为不可能使用静态证书(?)

提前感谢。

尝试以下内容(只需将其放在Jsoup.connect(“”)之前:

尝试以下操作(只需将其放在Jsoup.connect(“”)之前:


你确定你可以连接到elevplan.dk吗?你的错误消息指向一个与HTTPS无关的DNS错误。当连接到elevplan.dk时,我被重定向到,但实际上你是对的。login.emu.dk是一个给我一堆cookie的站点,我从login.emu.dk被重定向到我的个人版本。当我更改将所有elevplan.dk连接到个人版本的URL,我仍然会收到错误。有人知道如何使用Apache的HttpClient而不是JSoup来完成任务吗?你确定可以连接到elevplan.dk吗?你的错误消息指向一个与HTTPS无关的DNS错误。连接到elevplan.dk时,我会被重定向到,但实际上你是对的。login.emu.dk是给我一堆cookie的网站,我从login.emu.dk被重定向到我的个人版本。当我将所有elevplan.dk更改为个人版本的URL时,我仍然会收到错误。有人知道如何使用Apache的HttpClient而不是JSoup来完成任务吗?
        Authenticator.setDefault(new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password.toCharArray());
            }
        });