知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > ASP编程

asp获取用户真实IP地址的方法 ASP如何获取客户端真实IP地址

发布时间:2017-04-19 10:58:28作者:知识屋

asp获取用户真实IP地址的方法 ASP如何获取客户端真实IP地址 一般的程序都具备获取用户IP地址的命令,但是我们访问网站有两种一种是我们这种普通用户,一种是使用代理IP上网的用户,下面我来介绍介绍。


  在asp中获取用户IP地址我们最简单的获取方法就是使用


  代码如下


  Request.ServerVariables("REMOTE_ADDR")


  但是如果用户使用了代理服务器IP地址就不对了,但我们可通过


  代码如下


  Request.ServerVariables("REMOTE_ADDR")


  结果上面的两个获取IP的方法我们可如下操作


  代码如下


  userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")


  If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")


  上面的只是一个简单的判断方法,在实际应用中我们可能碰到的情况更多,下面看一个不错的实例


  代码如下


  <%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


  ip=getIP()


  response.write(ip)


  %>


  这样几乎可以获取到用户真实IP地址了,但是也不能保存所有代理的都能获取到了,只是大家都使用上面的方法。


  如果有使用asp.net的朋友可参考下面方法来获取


  代码如下


  //方法一


  HttpContext.Current.Request.UserHostAddress;


  //方法二


  HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];


  //方法三


  string strHostName = System.Net.Dns.GetHostName();


  string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();


  //方法四(无视代理)


  HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];


  //方法五


  var ip = '<!--#echo var="REMOTE_ADDR"-->';


  alert("Your IP address is "+ip);


  //方法六(无视代理)


  function GetLocalIPAddress()


  {


  var obj = null;


  var rslt = "";


  try


  {


  obj = new ActiveXObject("rcbdyctl.Setting");


  rslt = obj.GetIPAddress;


  obj = null;


  }


  catch(e)


  {


  //


  }


  return rslt;


  }


(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜