我想获取外网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#