C#でログインしたユーザーのIPアドレスを取得したいです。
私は次のコードを書きました
var ipaddress = System.Web.HttpContext.Current.Request.UserHostAddress;
しかし、ipaddress
含まれています::1
。完全なアドレスを取得するにはどうすればよいですか。ローカルホストでコードをテストしているだけです。iis7 をインストールしました。
C#でログインしたユーザーのIPアドレスを取得したいです。
私は次のコードを書きました
var ipaddress = System.Web.HttpContext.Current.Request.UserHostAddress;
しかし、ipaddress
含まれています::1
。完全なアドレスを取得するにはどうすればよいですか。ローカルホストでコードをテストしているだけです。iis7 をインストールしました。
::1
仕様によると、実際にはループバックを指す有効なアドレスです。コンピューターのパブリック IP アドレスを取得する場合は、ドメイン名 (ローカル コンピューターを指す DNS を使用) を使用するか、URL の代わりにパブリック IP を使用する必要があります。localhost
あなたのコードは適切です (そこを変更する必要はありません) が、パブリック IP アドレス (::1 または 127.0.0.1 ではない) を取得したい場合は、他のインターフェイスから http 呼び出しを行う必要があります (つまり、 DNS を ip に変換し、クエリを返します)。オフラインではできません。
これが役に立てば幸いです。申し訳ありませんが、これ以上明確にすることはできません。これは、プログラミングよりもネットワークの問題です。