当前位置:编程学习 > C#/ASP.NET >>

我想获取外网IP,应该怎么办?

网上有从别的网站获取的方法,但是不知道有没别的方法。貌似查了下资料是说,像ADSL上网的那种查不了外网的IP,谁能解释下?
--------------------编程问答-------------------- 不是很懂哩?ADSL不是独立的IP么? --------------------编程问答-------------------- 不是静态IP的话,IP是可变化的。

如果你能进入路由器,应该能查看到自己的IP --------------------编程问答-------------------- 你还是放弃这种想法, adsl的链接设备那么多。 你就算知道一个设备的取ip方法了,但是解决不了的, 恩,你不可能知道所有的硬件设备取得ip的方法。

找一个速度和稳定性都不错的 网站, 我用的ip138。 一般不会出太多问题, 我用ip功能呢个不多, 所以后台仍了去获取,就算出错不会影响软件。

如果你的对ip依赖比较大,那你考虑别的方式。 --------------------编程问答-------------------- static string GetPage(string url)   
  {   
  HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);   
  try   
  {   
  using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())   
  {   
  using (StreamReader sr = new StreamReader(res.GetResponseStream()))   
  {   
  return sr.ReadToEnd();   
  }   
  }   
  }   
  catch (System.Exception e)   
  {   
  return e.Message;   
  }   
  finally   
  {   
  req.Abort();   
  }   
  }   
  // 通过外部网站得到本机的外部IP   
  static string GetOuterIP()   
  {   
  string patt = @"IP: \[(? <IP>[0-9\.]*)\]";   
  string url = "";   
  return Regex.Match(GetPage(url), patt).Groups["IP"].Value;   
  }   

  static void Main()   
  {   
  foreach (IPAddress ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList)   
  {   
  Console.WriteLine(ip);   
  }   
  Console.WriteLine();   
  Console.WriteLine(GetOuterIP());   
  }
通过 Htpwebrequest传值到ip138抓取数据
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,