问题
i am working in asp.net c#, in that i need to get client IP Address to display the client IP. i am hosting my project in IIS 7, using the static ip i can connect my application..
i have to fetch the client IP using the following code. but i can't get correct ip address..
every time i get this ip 192.168.1.18..
i use the following code
private void GetIP()
{
string userip = Request.UserHostAddress;
if (Request.UserHostAddress != null)
{
Int64 macinfo = new Int64();
string macsrc = macinfo.ToString("X");
if (macsrc == "0")
{
if (userip == "127.0.0.1")
{
//ScriptManager.RegisterStartupScript(this, GetType(), "Message", "alert('Visited Localhost')", true);
lblIPAddress.Text = userip;
}
else
{
lblIPAddress.Text = userip;
}
}
}
}
i am also using the following code also but it showing the hosted ip address like 192.168.1.5, where i am hosted my project in server..
public static string GetLocalIPAddress()
{
var host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
//if (ip.AddressFamily == AddressFamily.InterNetwork)
if (ip.AddressFamily != AddressFamily.InterNetworkV6)
{
return ip.ToString();
}
}
throw new Exception("Local IP Address Not Found!");
}
i need the correct client ip address, any one help
回答1:
try this :
string IP = Request.UserHostAddress;
回答2:
It was answered a while ago but theres a similar question here How to Get IP Address? which uses the HTTP_X_FORWARDED_FOR and REMOTE_ADDR request variables. We used this in a project recently and its been working fine
来源:https://stackoverflow.com/questions/41137640/how-to-get-client-ip-address-using-asp-net-c-sharp-when-our-project-is-hosted