C# | Get My REAL External Public IP Address (not 127 or 192 stuff)
Yes, there is a way.
No 127.0.0.1 or 192.168.0.1 stuff.
Contact whatsmyip.com and they'll tell you!
Thanks to this guys at dreamincode.net
http://www.dreamincode.net/forums/topic/24692-showing-the-external-ip-address-in-c%23/
Update:
The function appears to return the server IP address.
How to get both CLIENT and SERVER public IP Addresses?
Update: Added IP v6 addresses condition
No 127.0.0.1 or 192.168.0.1 stuff.
Contact whatsmyip.com and they'll tell you!
public static IPAddress GetExternalIp() { string whatIsMyIp = "http://automation.whatismyip.com/n09230945.asp"; WebClient wc = new WebClient(); UTF8Encoding utf8 = new UTF8Encoding(); string requestHtml = ""; try { requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp)); } catch (WebException we) { // do something with exception Console.Write(we.ToString()); } IPAddress externalIp = IPAddress.Parse(requestHtml); return externalIp; }
Thanks to this guys at dreamincode.net
http://www.dreamincode.net/forums/topic/24692-showing-the-external-ip-address-in-c%23/
Update:
The function appears to return the server IP address.
How to get both CLIENT and SERVER public IP Addresses?
string serverIP = GetExternalIp().ToString(); string clientIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if ((clientIP == null) || (clientIP == "")) { clientIP = Request.ServerVariables["REMOTE_ADDR"]; } //private IPs: 10.X, 172.X, 192.168.X if ((clientIP.Contains("127.0.0.1")) || (clientIP.StartsWith("192.168")) || (clientIP.StartsWith("10.")) || (clientIP.StartsWith("172.") || (clientIP.Contains(":")) )) { //I'm internal to the server clientIP = serverIP; }
Update: Added IP v6 addresses condition
Thanks!!
ReplyDeleteNice information. I had checked my External ip address using this site IP-Details.com
ReplyDelete