js与asp.net获取用户Ip地址的方法

发布时间:2020-11-05编辑:脚本学堂
本文介绍下,用js取得asp.net程序中IP地址的方法,就是在js中显示由asp.net程序输出的IP地址。有需要的朋友参考下吧。

1,js代码,显示IP地址
 

复制代码 代码示例:
<script type="text/javascript"> 
   function dd() { 
   var str = "<%=GetIP()%>"; 
   alert(str); 
       } 
</script> 
<input id="Button2" type="button" value="button" onclick="dd();" />

2,asp.net程序,获取用户IP地址
 

复制代码 代码示例:
public static string GetIP() 

    string reIp = ""; 
    if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null || System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().IndexOf("unknown") > -1) 
    { 
reIp = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 
    } 
    else if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().IndexOf(",") > -1) 
    { 
reIp = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Substring(1, System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(",") - 1); 
    } 
    else if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().IndexOf(";") > -1) 
    { 
reIp = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Substring(1, System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(":") - 1); 
    } 
    else 
    { 
reIp = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; 
    } 
    if (reIp.Length > 30) 
    { 
reIp = reIp.Trim().Substring(0, 29); 
    } 
    else 
    { 
reIp = reIp.Trim(); 
    } 
    return reIp;