This blog post will explain various ways by which the .NET developers can get user’s IP address using ASP.NET and C#.
How to get User’s IP Address using ASP.NET and C# ?
There are 3 different ways which you can use to fetch the IP address using C#.
- Request.UserHostAddress
- Request.ServerVariables & REMORE_ADDR
- Request.ServerVariables & HTTP_X_FORWARDED_FOR
The IP Address can be retreived in the following ways.
String str = HttpContext.Current.Request.UserHostAddress;
or
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
The REMOTE_ADDR usually provides the IP Address of the Internet Service Provider in some cases.As a result it may be required to test with HTTP_X_FORWARDED_FOR to get the real IP Address.This might also contain an array of IP addresses when connected through proxies.
Eg :
Request.ServerVariables("HTTP_X_FORWARDED_FOR");
and check to see if it returns an Empty and then retreive the corresponding IP Address using REMOTE_ADDR.