您的位置:首页 > 编程语言 > C#

C# 获取公网IP和局域网IP

2016-07-07 10:09 369 查看
//获取外网IP

public static string GetPublicIP()

{

string tempip = "";

try

{

WebRequest wr = WebRequest.Create("http://www.ip138.com/ips138.asp");

Stream s = wr.GetResponse().GetResponseStream();

StreamReader sr = new StreamReader(s, Encoding.Default);

string all = sr.ReadToEnd();//读取网站的数据

int start = all.IndexOf("您的IP地址是:[") + 9;

int end = all.IndexOf("]", start);

tempip = all.Substring(start, end - start);

sr.Close();

s.Close();

}

catch (Exception ex)

{

tempip = GetPrivateIP();

MessageBox.Show("获取公网IP失败:"+ex.Message);

}

return tempip;

}

//获取内网IP

public static string GetPrivateIP()

{

string AddressIP = string.Empty;

foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)

{

if (_IPAddress.AddressFamily.ToString() == "InterNetwork")

{

AddressIP = _IPAddress.ToString();

}

}

return AddressIP;

}

//ADSL上网,获取公网ip

public static string GetPublicIP_ADSL()

{

string tempIP = string.Empty;

if (System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.Length > 1)

tempIP = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList[1].ToString();

return tempIP;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# 局域网 公网 ADSL