0

我正在尝试为我的世界制作一些东西,使某人能够登录到他们的 mojang 帐户。我正在尝试用 jsoup 做到这一点。但是有一个问题,当它重定向到https://account.mojang.com/me这是正常的登录页面时,它会引发 404 错误?

public String connect() {
    try {
        final Response response = 
                Jsoup.connect("https://account.mojang.com/login").execute();
        final Document doc = response.parse();
        final Element authToken = doc.select("input[name^=authenticityToken]").get(0);
        final Map<String, String> cookies = response.cookies();
        final Connection connection = 
                Jsoup.connect("https://account.mojang.com/login")
                .data("authenticityToken", authToken.val())
                .data("username", "email")
                .data("password", "password")
                .method(Method.POST)
                .followRedirects(true);
        connection.timeout(10000);
        for (final Entry<String, String> cookie : cookies.entrySet()) {
            connection.cookie(cookie.getKey(), cookie.getValue());
        }
        final Response postResponse = connection.execute();
        return postResponse.body().toLowerCase();
    } catch (Exception e) { e.printStackTrace(); return "try again"; }
}

任何帮助将不胜感激

4

2 回答 2

0

您应该使用整个 cookies Map 变量

.cookies(cookies);

我从来没有玩过 Minecraft,但在我看来,你应该用

postResponse.parse();

并查看是否没有 Javascript 重定向。由于 Jsoup 不是为执行 Javascript 而构建的,因此它不会将您重定向到您想要的位置。还..

.followRedirects(false);

您是否尝试过使其变为真,看看会发生什么?(我会尝试打印它得到的页面,看看 Jsoup 是否正在重定向)

于 2012-05-18T12:00:19.750 回答
0

网站是否有 SSL 加密?这可能是个问题

于 2012-08-04T17:02:57.580 回答