以下のような Web サイトにアクセスせずに、Java のみを使用してコンピューターの外部 IP を取得するにはどうすればよいですか。
String ip = "";
try
{
URL whatismyip;
whatismyip = new URL("http://checkip.amazonaws.com");
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(whatismyip.openStream()));
ip = in.readLine();
} catch (UnknownHostException e)
{
e.printStackTrace();
} catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
私がこれを望まない理由は、このサイトが 1 日でもダウンしていると、大きな問題が発生するからです。
編集:
質問をもう少し明確に定義すると、Java にはユーザーのマシン IP を取得する方法がありますか? もしそうなら、それらは何ですか?