会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
代码改变世界
Cnblogs
Dashboard
Login
Home
Contact
Gallery
Subscribe
RSS
代码部落
----热爱代码的人
获取外网的IP的方法!
2007-11-13 11:17
w i n s o n
阅读(
1087
) 评论(
0
)
编辑
收藏
举报
string
ip
=
Request.ServerVariables[
"
HTTP_X_FORWARDED_FOR
"
] ;
string
ip2
=
Request.ServerVariables[
"
REMOTE_ADDR
"
] ;
string
ip3
=
Request.UserHostAddress;
如果你的服务器放在内网,以上只能获取内网IP,那么有什么方法可以获取外网的IP呢? 其实也很简单,只需使用WebClient里的DownloadData方法去下载某一IP查询网页的内容,然后再对这些内容去正则表达式来匹配,就可获取得当前服务器所在的外网IP了,代码如下:
public
IPAddress GetIP()
{
WebClient client
=
new
WebClient();
byte
[] bytRecv
=
client.DownloadData(
"
http://www.123cha.com/
"
);
//
下载网页数据
string
str
=
System.Text.Encoding.GetEncoding(
"
gb2312
"
).GetString(bytRecv);
string
r
=
@"
(((\d{1,3})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,3})|(1\d{2})|(2[0-4]\d)|(25[0-5]))
"
;
string
ip
=
System.Text.RegularExpressions.Regex.Match(str, r).ToString();
//
提取信息
return
IPAddress.Parse(ip);
}
调用方法:
System.Net.IPAddress ip
=
GetIP();
Response.Write(ip.ToString());
【代码部落】 www.CoderBlog.in
会员力量,点亮园子希望
刷新页面
返回顶部
About