私は mod として minecraft.net のユーザー名マイグレーターを作成しようとしています。これにより、人々はゲーム内で自分のアカウントを移行して、アカウントのクラッキングを思いとどまらせることができます。そのためには、フォームを Web サイトに投稿する必要があります。authenticationToken が同じままになるように Cookie を正常に取得できましたが、データをサイトに戻そうとすると、「java.io.IOException: URL https://account. mojang.com/migrate '
なぜこれが起こっているのかはよくわかりませんが、ウェブサイトに関係している可能性があります. authenticationToken は確実に一致します。サイトに投稿せず、同じ Cookie を提供するときにこれを確認しました。ここに私が現在使用しているコードがあります
try {
Response response = Jsoup.connect("https://account.mojang.com/migrate").execute(); //downloads site to get the cookies
String auth = response.body();
String auth2 = auth.split("name=\"authenticityToken\" value=\"")[1];
auth = auth2.split("\">")[0];
Map<String, String> cookies = response.cookies();
Connection connection = Jsoup.connect("https://account.mojang.com/migrate").data("action", "/migrate/check")
.data("authenticityToken", auth)
.data("mcusername", "username")
.data("password", "password")
.method(Method.POST)
.followRedirects(true);
for (Entry<String, String> cookie : cookies.entrySet()) {
connection.cookie(cookie.getKey(), cookie.getValue());
}
connection.execute(); //exception thrown here
Document document = connection.get();
String docHtml = document.html();
System.out.println(docHtml);
} catch (Exception e) {
e.printStackTrace();
}
どんな助けでも大歓迎です