C#(局域网)获取外网IP

From: CikerBlog

Form图:


完成图:



只贴获取IP部分的代码:

private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = Dns.Resolve(Dns.GetHostName()).AddressList.GetValue(0).ToString(); //内网IP
textBox2.Text = GetIP(); //外网IP
}

static string GetIP()
{
Uri uri = new Uri("http://www.ciker.net/ip/index.asp");
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = 0;
req.CookieContainer = new System.Net.CookieContainer();
req.GetRequestStream().Write(new byte[0], 0, 0);
System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)(req.GetResponse());
StreamReader rs = new StreamReader(res.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
string s = rs.ReadToEnd();
rs.Close();
req.Abort();
res.Close();
System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(s, @"您的IP:(?<IP>[0-9\.]*)");
if (m.Success)
{
return m.Groups["IP"].Value;
}
else
{
return "Failed..";
}
}
posted @ 2008-04-08 19:02 程序渊 阅读(1435) 评论(3)  编辑 收藏 网摘 所属分类: 技术C#学习笔记

  回复  引用    
#1楼2009-05-05 13:57 | 子民
Dns.Resolve(Dns.GetHostName()).AddressList.GetValue(0).ToString(); //内网IP

请问LZ:Dns是什么啊?

  回复  引用    
#2楼2009-05-05 13:58 | 子民
谢谢,在线等啊,急
  回复  引用    
#3楼2009-05-22 23:23 | codelife[未注册用户]
@子民
域名系统 (Domain Name Server)




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1142851




相关文章:

相关链接: