C#获取本机局域网ip和公网ip

1。获取局域网ip      

IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[ 0 ]; // 获得当前IP地址
string ip = ipAddr.ToString() ;

2。获取公网ip      

private static string GetIP()
{
    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
    {
    }
    return tempip;
}

3.如果是ADSL上网,获取公网ip

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();

你可能感兴趣的:(C#获取本机局域网ip和公网ip)