User:Oxguy3/Minecraft.net API/Breaking getversion.jsp - minecraft.fandom.com
The getversion.jsp had (this has been fixed) an uncaught exception (coding bug) that could be seen if the version parameter of the URL was not a number, as with this link:
https://login.minecraft.net/?user=user&password=password&version=LOL
That link returns a 500 Servlet Exception error with this Java stack trace:
[show] java.lang.NumberFormatException: For input string: "LOL" java.lang.NumberFormatException: For input string: "LOL" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:449) at java.lang.Integer.parseInt(Integer.java:499) at net.minecraft.login.controller.Authenticate.doPost(Authenticate.java:58) at net.minecraft.login.controller.Authenticate.doGet(Authenticate.java:42) at javax.servlet.http.HttpServlet.service(HttpServlet.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:96) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792) at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
This stack trace gives us a very small glimpse into the code structure of Minecraft's website, as we see that the package for the website is net.minecraft.login. We also see that there is a sub-package net.minecraft.login.controller and it contains Authenticate.java. Further, it tells us that they are using caucho's Resin web server This does not offer a large amount of info, certainly not anything particularly useful from a developing standpoint, but it is more than has been known before.