zoukankan      html  css  js  c++  java
  • ASP.NET获取IP的6种方法 【转】

    //方法一
    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; 
    }
     
    复制代码

    22日添加:

    来自印度的MCT Maulik Patel提供了一种服务端的解决方案,很好:

    复制代码
    if(Context.Request.ServerVariables["HTTP_VIA"]!=null// using proxy

         ip
    =Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  // Return real client IP.
    }

    else// not using proxy or can't get the Client IP

         ip
    =Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
    }


    复制代码

    备注:

    1. 有些代理是不会发给我们真实IP地址的

    2. 有些客户端会因为“header_access deny”的安全设置而不发给我们IP


    作者:Lance ZhangLance Zhang's Tech Blog
    出处:http://blodfox777.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    ASP.NET MVC 音乐商店 目录
    ASP.NET MVC 音乐商店 9. 注册和结账
    SQL查询入门(下篇)
    【译】Asp.net MVC并不仅仅只是Linq to SQL
    SQL查询入门(中篇)
    【译】利用.LESS来提高CSS
    Silverlight 入门学习笔记(1)Silverlight是什么
    【译】详解Asp.net MVC DropDownLists
    Asp.net缓存简介
    SQL查询入门(上篇)
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3216292.html
Copyright © 2011-2022 走看看