asp获得公网ip

LINUX_ROOT 2010-01-14 11:40:13
我这是在局域网内!!想做一个留言系统,使用Request.ServerVariables("REMOTE_ADDR"),发帖后只能获得内网ip地址,使用代理的Request.ServerVariables("HTTP_X_FORWARDED_FOR")也不行,因为局域网不是代理!所以我想知道在局域网中asp怎么获得公网ip地址?
...全文
219 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mydearbaby 2010-01-16
  • 打赏
  • 举报
回复


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




代码要放在公网,你在自己机器上测试,肯定是内网的ip
jiewenxu 2010-01-15
  • 打赏
  • 举报
回复
无法实现。除非你断了他的内网使他只能用公网访问。否则是不可能的。
pmaojie 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 linux_root 的回复:]
我要获得的是,客户端用户的ip地址,即发帖用户的ip
[/Quote]

不要用本机访问就可以了,换个机子来访问
LINUX_ROOT 2010-01-14
  • 打赏
  • 举报
回复
怎么获得的还是我的局域网地址192.168.1.2啊?那位大侠能够解决一下啊?
sy_binbin 2010-01-14
  • 打赏
  • 举报
回复
<%Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariab
les("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.Ser
verVariables("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.Ser
verVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
ip=getIP()
response.write(ip)
%>
goboon 2010-01-14
  • 打赏
  • 举报
回复
要放到网上 滴
gxq323 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangsdong 的回复:]
你需要将这段代码放到服务器上才可以,本域网内当然获取的是本地IP
[/Quote]应该是这样的,你的把代码放到公网上再试试
LINUX_ROOT 2010-01-14
  • 打赏
  • 举报
回复
我要获得的是,客户端用户的ip地址,即发帖用户的ip
php_wsd 2010-01-14
  • 打赏
  • 举报
回复
你需要将这段代码放到服务器上才可以,本域网内当然获取的是本地IP

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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