我想知道如何獲得連接到我的應用程序(asp.net mvc4)的用戶的IP
。 我試過了:獲取連接到asp應用程序的用戶的ip地址
IPHostEntry ipHostEntry = Dns.GetHostByName(Dns.GetHostName());
IPAddress ipAddress = ipHostEntry.AddressList[0];
但它沒有奏效。
那麼如何修改代碼片段來獲取IP或連接的用戶呢?
我想知道如何獲得連接到我的應用程序(asp.net mvc4)的用戶的IP
。 我試過了:獲取連接到asp應用程序的用戶的ip地址
IPHostEntry ipHostEntry = Dns.GetHostByName(Dns.GetHostName());
IPAddress ipAddress = ipHostEntry.AddressList[0];
但它沒有奏效。
那麼如何修改代碼片段來獲取IP或連接的用戶呢?
下面是來自類似問題@jamieHennerley建議轉換的C#代碼。
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
結果始終是':: 1'爲什麼? –
:: 1是IPv6地址和0:0:0:0:0:0:0:1的縮寫,它是本地計算機的環回地址。因此:: 1僅通過IPv6而不是IPv4與127.0.0.1相同。你可能會在你的機器上安裝IPV6。一旦部署了應用程序,它應該可以正常工作,並顯示IPv4地址。 – vendettamit
這種接觸器與您尋找相似嗎? http://stackoverflow.com/questions/735350/how-to-get-a-users-client-ip-address-in-asp-net – JayH