/// <summary>
/// 根据IP 获取物理地址
/// </summary>
/// <param name="ip">Ip地址(116.19.105.62)</param>
/// <returns></returns>
private string GetstringIpAddress(string ip)
{
//根据传的IP地址查出其对应的物理地址网页链接
string url = "http://www.ip138.com/ips1388.asp?action=2&ip=" + ip;
//设置获取html源码上物理地址的正则表达式取出的值为(<ul class="ul1"><li>本站主数据:广东省珠海市 电信</li><li>参考数据一:广东省珠海市 电信</li></ul>)
const string regStr = "(?<=<ul\\s*class=\\\"ul1\\\">).*?(?=</ul>)";
//得到网页源码
string html = GetHtml(url);
//匹配正则表达式
var reg = new Regex(regStr, RegexOptions.None);
Match ma = reg.Match(html);
//取出物理地址(<li>本站主数据:广东省珠海市 电信</li><li>参考数据一:广东省珠海市 电信</li>)
html = ma.Value;
//将获取到的值解析成(广东省珠海市 电信)
string arr=html.Split('<')[1].Split(':')[1];
return arr;
}
/// <summary>
/// 获取HTML源码信息(根据网址路径获取网页源码)
/// </summary>
/// <param name="url">获取地址</param>
/// <returns>HTML源码</returns>
private string GetHtml(string url)
{
string str = "";
try
{
var uri = new Uri(url);
var wr = WebRequest.Create(uri);
var s = wr.GetResponse().GetResponseStream();
if (s != null)
{
var sr = new StreamReader(s, Encoding.Default);
str = sr.ReadToEnd();
}
}
catch (Exception ex)
{
throw;
}
return str;
}
foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
//下面的地址格式为xx.xx.xx.xx,例如192.141.23.1
string ipAdd = ip.ToString();
Console.WriteLine(ipAdd);
}
}