如何获得当前浏览人的ip

phoebuswei 2009-03-10 04:40:01
要是用路由器交换机的得到的ip不是10.X就是192.X
我如何获得当前浏览用户的不是路由过的实际的ip
我Google过了没太好用的
...全文
156 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangpeiwen168 2009-03-13
  • 打赏
  • 举报
回复

Private Function getIP()

Dim strIPAddr

If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" Or InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then

strIPAddr = Request.ServerVariables("REMOTE_ADDR")

ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then

strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") - 1)

ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then

strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") - 1)

Else

strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

End If

getIP = Trim(Mid(strIPAddr, 1, 30))

End Function


phoebuswei 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 the_pain 的回复:]
http://hi.baidu.com/ahhui/blog/item/9a2e0bf3b01e8ecc0a46e099.html
[/Quote]
这个是这样的,在巴音库尔勒打开页面看到的ip是114.118.71.87
但是用程序得到的是这个222.131.88.168,这个是北京的adsl
phoebuswei 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 insus 的回复:]
这个不知是否适合您:
http://www.cnblogs.com/insus/articles/1399326.html
[/Quote]
您这个要怎么用啊
phoebuswei 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 insus 的回复:]
这个不知是否适合您:
http://www.cnblogs.com/insus/articles/1399326.html
[/Quote]
您这个是不是HTTP_X_FORWARDED_FOR
然后REMOTE_ADDR然后UserHostAddress
得到总是路由的而且没回得到的还不一样
weizijia 2009-03-11
  • 打赏
  • 举报
回复
定顶
phoebuswei 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 the_pain 的回复:]
http://hi.baidu.com/ahhui/blog/item/9a2e0bf3b01e8ecc0a46e099.html
[/Quote]
不对吧,您这个是在服务器打开的,所以说ip永远是您服务器ip啊
insus 2009-03-10
  • 打赏
  • 举报
回复
BossFriday 2009-03-10
  • 打赏
  • 举报
回复
好像目前流行的方法都得不到100%完全真实的IP.
1.拿不到代理前的IP
2.有时候甚至拿不到任何IP信息( return null)
phoebuswei 2009-03-10
  • 打赏
  • 举报
回复
您看到后给个消息
phoebuswei 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 the_pain 的回复:]
http://hi.baidu.com/ahhui/blog/item/9a2e0bf3b01e8ecc0a46e099.html
[/Quote]
我在网络上下载一个表达式
正则表达式我是一个字也不会写
您看有什么不妥
Match m = Regex.Match(s, @"((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}");
if (m.Success) return m.Value;orm。ToString()
phoebuswei 2009-03-10
  • 打赏
  • 举报
回复
我进行了实验,在局域网内
rs.ReadToEnd()得到的字符串中有我的ip
Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]");后变成了空“”
jfd198512 2009-03-10
  • 打赏
  • 举报
回复
ding ~ google一下 get生方法 !
phoebuswei 2009-03-10
  • 打赏
  • 举报
回复
您这个网页我搜索到了
当在巴音郭楞州库尔勒市油田中,显示的是局域网的地址10.xx
阿云ivan 2009-03-10
  • 打赏
  • 举报
回复
在web程序里得到的IP是代理服务器的IP
the_pain 2009-03-10
  • 打赏
  • 举报
回复
http://hi.baidu.com/ahhui/blog/item/9a2e0bf3b01e8ecc0a46e099.html

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧