`
shirlly
  • 浏览: 1622168 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

c# 获取本机在局域网和公网上的Ip的方法

    博客分类:
  • .NET
阅读更多
获取本机在局域网上的IP的方法
//获得局域网的IP地址
IPHostEntry ihe = Dns.GetHostByName(Dns.GetHostName());
IPAddress myIp = ihe.AddressList[0];
string loginIP = myIp.ToString();

获取本机在公网上的IP的方法
//   通过外部网站返回得到内网外部IP   
  //   来源:   http://www.cnblogs.com/helloworld84/archive/2005/08/18/218104.html   
    
  using   System;   
  using   System.IO;   
  using   System.Net;   
  using   System.Text;   
  using   System.Text.RegularExpressions;   
    
  class   PubIP   
  {   
      static   string   GetIP()   
      {   
          Uri  uri = new Uri("http://www.ikaka.com/ip/index.asp");   
          HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);   
          req.Method = "POST";   
          req.ContentType = "application/x-www-form-urlencoded";   
          req.ContentLength = 0;   
          req.CookieContainer = new CookieContainer();   
          req.GetRequestStream().Write(new   byte   [0],   0,   0);   
          HttpWebResponse res = (HttpWebResponse)(req.GetResponse());   
          StreamReader rs = new StreamReader(res.GetResponseStream(),   Encoding.GetEncoding("GB18030"));   
          string  s =  rs.ReadToEnd();   
          rs.Close();   
          req.Abort();   
          res.Close();   
          Match m = Regex.Match(s,   @"IP:\[(?<IP>[0-9\.]*)\]");   
          if (m.Success) return m.Groups["IP"].Value;   
          return string.Empty;   
      }   
    
      static void Main()   
      {   
          Console.WriteLine(GetIP());   
      }   
  }   

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics