• ベストアンサー

IPアドレスの取得

いつもお世話になっております。 LAN上でIPアドレスを取得するとそのホストのローカルIPを取得しますよね。 そうではなくルーターのWAN側のグローバルIPを取得したいのですがなにか方法があるのでしょうか???

質問者が選んだベストアンサー

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.3

J2EEのjavax.activationのパッケージを使えばURLからOutputStreamでMIMEパッケージされたストリームデータがサーバから取得できます。 その中のcontenttypeがtext/htmlの物をStringオブジェクトとしてキャストしてindexofで検索したらどうでしょう? 詳しくはJAVADOCを見てくださいね

参考URL:
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html

その他の回答 (2)

  • stsu
  • ベストアンサー率62% (83/132)
回答No.2

WAN側とはインターネット環境のことでしょうか? そうだとしたら、診断サイトを利用するのが最も 簡単ですね。 いくつかサイトは存在しますが、そのうちの1つ を参考URLで紹介します。 → 左側の「診断くん」をクリックすると実際に   接続しに来た場所(例えば相談者の自宅等)   の情報を見ることが可能です。

参考URL:
http://www.mcci.or.jp/scripts/envdsp.cgi?
omaeha
質問者

補足

回答ありがとうございます。 少し説明不足でせた。。。 プログラミング上で取得したいのですが。。 たとえばInetAddressクラス等を使用すると実行したマシンのIPアドレス、つまりローカルIPアドレスを取得するので、どうしたらグローバルIPを取得できるのかなと思ったもので。。。

  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.1

一番簡単な方法はルーターのステータス画面のURLに対してHTTPリクエストを出して、そのHTTPレスポンスのHTMLから任意のIPアドレスを取得する方法でしょうか? ルーターによって設定画面が違うのでルーター個別になってしまうとは思いますが。

omaeha
質問者

補足

さっそくのご回答ありがとうございます HTTPリクエストを出すということは GETでリクエストをしてルーターのリソースレスポンスを取得して、そのレスポンスの中からIPアドレスらしきものを、正規表現等でとってくるというイメージでよろしいのでしょうか?

関連するQ&A

専門家に質問してみよう