0

サーバーアプリケーションを実行しています。今私が探しているのは、アプリケーションを実行しているこのサーバーのIPアドレスを指定する必要があるため、この場合、サーバーのIPアドレスが次のように設定されている場合、そのアプリケーション内で111.111.111.111そのIPアドレスを取得するにはどうすればよいですか? 111.111.111.111Windowsシステムで、それが完了すると、サーバーのIPが整数形式で表示されますか?

私はそのローカルIPを表示することを望んでいませ127.0.0.1192.168.x.x

4

2 に答える 2

1

外部サーバーに接続してリクエストIPを確認しないと、その情報を確実に取得することはできません(リクエストが不透明なプロキシを経由している場合は、それでも間違っている可能性があります)。

この理由は、Windowsが実際に(必然的に)世界に見えるIPアドレスを認識していないためです。これは、多くのネットワークホップが離れている可能性があるためです。したがって、解決策は、要求されたときに着信要求のIPアドレスを吐き出し、そのURLに対してHTTP要求を行って、パブリックIPを決定する単純なスクリプトを作成することです。

于 2012-05-06T02:31:37.460 に答える
0

サーバーが外部に持っているIPアドレスが必要な場合は、次のことをお勧めします。

lynx --dump http://www.whatismyip.com | grep 'Your IP Address Is'

次に、RegExを使用してIPを取得できます。もちろん、これlynxをインストールする必要があります。アプリケーション内でそれを行う必要がある場合は、アプリケーションがプログラムされている言語と、それがどの程度正確に機能しているかを指定する必要があります。

于 2012-05-06T02:45:27.593 に答える