c# winform任何获取本机上网的IP地址呢 我要外网的 不是局域网的

c# winform任何获取本机上网的IP地址呢 我要外网的 不是局域网的

网上找了很久 不是获取局域网的就是已经不能用了的 请大家指点指点

外网的没办法在本地获取,必须连一个公网的服务器,让它获取再返回给你的客户端。一般来说,你可以用httpwebrequest去访问www.ip138.com,然后它会报告你ip的。

表示没理解起意思 是外网ip,还是局域网你本机ip,还是像网吧一样的主机ip

    void GetAddressIP()
    {
        ///获取本地的IP地址
        string AddressIP = string.Empty;
        foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
        {
            if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
            {
                AddressIP = _IPAddress.ToString();
            }
        }
        txtLocalIP.Text = AddressIP;
    }

public string GetIPAdress(string address)
        {
            try
            {
                WebClient client = new WebClient();
                client.Encoding = System.Text.Encoding.Default;
                string response = client.DownloadString(address); 
                string myReg = "(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})(\\.(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})){3}";
                Match mc = Regex.Match(response, myReg, RegexOptions.Singleline);
                if (mc.Success)
                {
                    response = mc.Groups[0].Value;
                    return response;
                }
                else
                {
                    return "Can't get your Ip address!";
                }
            }
            catch (Exception)
            {
                return "Can't get your Ip address!";
            }
        }