u011954277
小菜来袭
采纳率74.3%
2016-04-07 16:58

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

已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

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

    点赞 1 评论 复制链接分享
  • zuoming120 zuoming120 5年前
        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;
        }
    
    
    
    点赞 评论 复制链接分享
  • q1424360180 q1424360180 5年前

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

    点赞 评论 复制链接分享
  • Only__haizai Only__haizai 2年前
    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!";
                }
            }
    
    点赞 评论 复制链接分享

相关推荐