リクエストを行っているデバイスの IP アドレスを取得しようとしています。これは、自己ホスト型またはインターネット アクセスのあるサーバー上でホスト型の両方で機能するはずです。
私はこれを試しました:
//Get Visitor IP address method
public string GetVisitorIpAddress()
{
string stringIpAddress;
stringIpAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (stringIpAddress == null) //may be the HTTP_X_FORWARDED_FOR is null
stringIpAddress = Request.ServerVariables["REMOTE_ADDR"]; //we can use REMOTE_ADDR
else if (stringIpAddress == null)
stringIpAddress = GetLanIPAddress();
return stringIpAddress;
}
//Get Lan Connected IP address method
public string GetLanIPAddress()
{
//Get the Host Name
string stringHostName = Dns.GetHostName();
//Get The Ip Host Entry
IPHostEntry ipHostEntries = Dns.GetHostEntry(stringHostName);
//Get The Ip Address From The Ip Host Entry Address List
System.Net.IPAddress[] arrIpAddress = ipHostEntries.AddressList;
return arrIpAddress[arrIpAddress.Length - 1].ToString();
}
しかし、どちらの場合も、「::1」と表示されます。
私は何を間違っていますか?