0

以下のコードを使用して、Web サイトにアクセスしたユーザーのローカル マシンの IP アドレスを取得する必要があります。

 string ipAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                if (!string.IsNullOrEmpty(ipAddress))
                {
                    string[] addresses = ipAddress.Split(',');

                    if (addresses.Length != 0)
                    {
                        stradd = addresses[0];
                    }
                    else
                    {
                        stradd = ipAddress;
                    }
                }
                else
                {
                    stradd = Request.ServerVariables["REMOTE_ADDR"].ToString();
                }

                hostName = Dns.GetHostByAddress(stradd).HostName;

これは、サービス プロバイダーの IP アドレスとサービス プロバイダーの名前を示していますが、これは必要ありません。ユーザー デバイス (ローカル) の IP アドレスが必要です。ローカル IP アドレスを取得することはできますか? 私を助けてください。

4

2 に答える 2

1

いいえ。NAT の背後に隠れているマシンのプライベート IP アドレスを取得することはできません。

ルーターはリクエストを透過的に中継します。

于 2012-07-04T08:28:40.117 に答える
0

ローカル IP は、(ローカル) ローカル ルーターを離れることはありません。サーバーに送信するには、何らかのローカルで実行されるコードを使用する必要があります。

于 2012-07-04T08:29:05.003 に答える