• ベストアンサー

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

このQ&Aのポイント
  • Lenovo ideapad3を使用してトリプルディスプレイを実現する方法について教えてください。
  • PCのUSB-Cポートで繋ぐハブドッキングステーションを使用しているが、モニターが識別されない問題が発生しています。
  • モニター2台とHDMIケーブル2本を直接PCのポートに繋ぐと正常に動作するため、ハブドッキングステーションの問題か、他の方法でトリプルディスプレイを実現する方法があるか教えてください。
回答を見る

専門家に質問してみよう