通过JSOUP登录到Skyscrapercity论坛

问题描述

如何通过JSOUP登录到SkyscrapercityForum?我已经在下面尝试了此代码,但这不起作用

@Test    
void loginToPagetest() throws IOException {
    final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/51.0.2704.103 Safari/537.36";
    final String LOGIN_FORM_URL = "https://www.skyscrapercity.com/login";
    final String LOGIN_ACTION_URL = "https://www.skyscrapercity.com";
    final String USERNAME = "XXX";
    final String PASSWORD = "XXX";

    Connection.Response loginForm = Jsoup.connect(LOGIN_FORM_URL)
            .method(Connection.Method.GET)
            .userAgent(USER_AGENT)
            .execute();
    Document loginDoc = loginForm.parse(); // this is the document containing response html
    HashMap<String,String> cookies = new HashMap<>(loginForm.cookies()); 

    String authToken = loginDoc.select("#login > form > div:nth-child(1) > input[type=\"hidden\"]:nth-child(2)")
            .first()
            .attr("value");

    HashMap<String,String> formData = new HashMap<>();
    formData.put("commit","Sign in");
    formData.put("utf8","e2 9c 93");
    formData.put("login",USERNAME);
    formData.put("password",PASSWORD);
    formData.put("authenticity_token",authToken);

    Connection.Response homePage = Jsoup.connect(LOGIN_ACTION_URL)
            .cookies(cookies)
            .data(formData)
            .method(Connection.Method.POST)
            .userAgent(USER_AGENT)
            .execute();

    System.out.println(homePage.parse().html());


}

我有NullPointerException,但是此登录代码的架构是从登录到github的,所以也许有不同的HashMap属性。有人可以修复此代码吗?当我尝试通过具有基本身份验证的邮递员登录时,我收到错误400并显示消息“您的客户端发出了格式错误或非法的请求。这就是我们所知道的。'。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)