From 4ad816d3ef7b21df085ac7a7103d283a869a1939 Mon Sep 17 00:00:00 2001 From: ORelio Date: Tue, 13 Aug 2013 12:20:16 +0200 Subject: [PATCH] Use POST instead of GET for Minecraft login --- MinecraftClient/MinecraftCom.cs | 5 +++-- MinecraftClient/Program.cs | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/MinecraftClient/MinecraftCom.cs b/MinecraftClient/MinecraftCom.cs index f8bb436f..eba92574 100644 --- a/MinecraftClient/MinecraftCom.cs +++ b/MinecraftClient/MinecraftCom.cs @@ -15,7 +15,7 @@ namespace MinecraftClient { #region Login to Minecraft.net, Obtaining a session ID - public enum LoginResult { Error, Success, WrongPassword, Blocked, AccountMigrated, NotPremium }; + public enum LoginResult { Error, Success, WrongPassword, Blocked, AccountMigrated, NotPremium, BadRequest }; /// /// Allows to login to a premium Minecraft account, and retrieve the session ID. @@ -32,11 +32,12 @@ namespace MinecraftClient Console.ForegroundColor = ConsoleColor.DarkGray; WebClient wClient = new WebClient(); Console.WriteLine("https://login.minecraft.net/?user=" + user + "&password=<******>&version=13"); - string result = wClient.DownloadString("https://login.minecraft.net/?user=" + user + "&password=" + pass + "&version=13"); + string result = Encoding.ASCII.GetString(wClient.UploadValues("https://login.minecraft.net/", new System.Collections.Specialized.NameValueCollection() { { "user", user }, { "password", pass }, { "version", "13" } } )); outdata = result; Console.WriteLine(result); Console.ForegroundColor = ConsoleColor.Gray; if (result == "Bad login") { return LoginResult.WrongPassword; } + if (result == "Bad request") { return LoginResult.BadRequest; } if (result == "User not premium") { return LoginResult.NotPremium; } if (result == "Too many failed logins") { return LoginResult.Blocked; } if (result == "Account migrated, use e-mail as username.") { return LoginResult.AccountMigrated; } diff --git a/MinecraftClient/Program.cs b/MinecraftClient/Program.cs index c81daa0e..b7c456f3 100644 --- a/MinecraftClient/Program.cs +++ b/MinecraftClient/Program.cs @@ -251,6 +251,7 @@ namespace MinecraftClient { case MinecraftCom.LoginResult.AccountMigrated: Console.WriteLine("Account migrated, use e-mail as username."); break; case MinecraftCom.LoginResult.Blocked: Console.WriteLine("Too many failed logins. Please try again later."); break; + case MinecraftCom.LoginResult.BadRequest: Console.WriteLine("Login attempt rejected: Bad request."); break; case MinecraftCom.LoginResult.WrongPassword: Console.WriteLine("Incorrect password."); break; case MinecraftCom.LoginResult.NotPremium: Console.WriteLine("User not premium."); break; case MinecraftCom.LoginResult.Error: Console.WriteLine("Network error."); break;