在内网能否获取公网IP? 我家安装的是有线电视宽带网。类似局域网的一种。。用Dns.GetHostByName(Dns.GetHostName()).AddressList[0] 得出的IP是有线电视网内的IP。在程序里怎么能获得公网的IP?我用的是03环境,FORM项目 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回答过一次了,模拟 traceroute , 返回的第一个地址就是 在局域网内获取本机的外部IP “ipconfig.exe /all”在局域网中只能获取内部IP, 无法获取本机的外部IP, Dns.Resolve()也一样。经研究, 在局域网中, 仅凭本机的力量是无法获得本机的外部IP的, 必须登录到外网某个服务器, 那个服务器就知道你的IP, 然后你再取回来。using System;using System.IO;using System.Net;using System.Text.RegularExpressions;class Test{ // 获取网页的HTML内容 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 = "http://www.skyiv.com/info"; return Regex.Match(GetPage(url), patt).Groups["IP"].Value; } static void Main() { Console.WriteLine("Inner IP:"); foreach (IPAddress ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { Console.WriteLine(ip); } Console.WriteLine(); Console.WriteLine("Outer IP:"); Console.WriteLine(GetOuterIP()); }} wpf生成小图片 求累加和校验算法 请问用C#如何实时监控ACC数据库? c#和oracle 字符串问题 一个验证密码的问题 我用的VS2005 Office 2003引入了Interop.Excel.dll但是Microsoft.Office.Interop.Excel却没有怎么回事啊? 一个很奇怪的问题 C#中关于.NetFramework问题 Web 开发中DataGrid的问题? (急) 我的未解决的问题(2),急呀!! 自做datagridview分页问题 怎么找不到关于XNA的讨论?
模拟 traceroute , 返回的第一个地址就是
using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;class Test
{
// 获取网页的HTML内容
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 = "http://www.skyiv.com/info";
return Regex.Match(GetPage(url), patt).Groups["IP"].Value;
} static void Main()
{
Console.WriteLine("Inner IP:");
foreach (IPAddress ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
Console.WriteLine(ip);
}
Console.WriteLine();
Console.WriteLine("Outer IP:");
Console.WriteLine(GetOuterIP());
}
}