• JS和C#.NET获取客户端IP


      我们经常在项目中会遇到这种需要获取客户端真实IP的需求,其实在网上也能随便就能查到各种获取的方法,我也是在网上查了加上了自己的实践,说一下自己在实践后的感受,基本上网上大部分都是用JS的方法来获取客户端的IP,今天我也分享一种C# .NET可以获取到客户端IP的方法。

    一、JS获取客户端IP

    基本上在网上可以查到的以下几种方法:

    (1)使用搜狐接口(适用所有平台及浏览器)

    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>  
    <script type="text/javascript">  
    document.write(returnCitySN["cip"]+','+returnCitySN["cname"])  
    </script>

    这种方式我有尝试过,第一天还好好的,第二天就不行了,后面就变成:在我本地电脑上直接运行是没有问题的,但是发布到服务器后就没有效果了。

    (2)使用新浪接口(适用所有平台及浏览器)

    <script type="text/javascript" src="http://counter.sina.com.cn/ip/" charset="gb2312"></script>       <!--获取接口数据,注意charset -->
    <script type="text/javascript"> 
    document.writeln("IP地址:"+ILData[0]+"<br />");           //输出接口数据中的IP地址 
    document.writeln("地址类型:"+ILData[1]+"<br />");         //输出接口数据中的IP地址的类型 
    document.writeln("地址类型:"+ILData[2]+"<br />");         //输出接口数据中的IP地址的省市
    document.writeln("地址类型:"+ILData[3]+"<br />");         //输出接口数据中的IP地址的
    document.writeln("地址类型:"+ILData[4]+"<br />");         //输出接口数据中的IP地址的运营商
    </script>

    这个地址说实话我都打不开,可能是慢。放弃了。

    以上两种都是使用的第三方接口的方式,好像还有一些个人的接口,从我的实践来看,第三方接口不稳定,而且修改了接口可能会导致你的项目出错,其实是不可取的。

    还有针对IE浏览器,使用AcitiveX插件方法,这种方法必需要让用户设置自己的IE浏览器允许运行AcitiveX插件才可行,而且Firefox和Chrome等浏览器不支持,显然也是不可取的。

    综上,其实我是不推荐采用JS的方式来获取客户端IP的,下面介绍一种C# .NET的方式,也是我自己在使用的。

    二、C# .NET方式获取客户端IP

    直接贴代码

    string IP;
    if (Request.ServerVariables["HTTP_VIA"] != null) // 服务器, using proxy
    {
             //得到真实的客户端地址
             IP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  // Return real client IP.
    }
    else //如果没有使用代理服务器或者得不到客户端的ip  not using proxy or can't get the Client IP
    {
              //得到服务端的地址    
              IP = Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
    }
  • 相关阅读:
    最近遇到的若干Web前端问题:disable和readonly,JqueryEasyUI,KindEditor
    最近遇到的若干Web前端问题:disable和readonly,JqueryEasyUI,KindEditor
    2015年工作中遇到的问题111-120
    2015年工作中遇到的问题111-120
    POJ 1459 Power Network
    POJ 2135 Farm Tour
    HDU 3062 Party
    学渣乱搞系列之网络流学习
    POJ 1094 Sorting It All Out
    HDU 1704 Rank
  • 原文地址:https://www.cnblogs.com/sky6699/p/11320260.html
Copyright © 2020-2023  润新知