zoukankan      html  css  js  c++  java
  • ASP.NET获取IP的6种方法(转载于LanceZhang's Tech Blog)

    服务端:

     1 //方法一
     2 HttpContext.Current.Request.UserHostAddress; 
     3 
     4 //方法二
     5 HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
     6 
     7 //方法三
     8 string strHostName = System.Net.Dns.GetHostName();
     9 string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
    10 
    11 //方法四(无视代理)
    12 HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    客户端:

     1 //方法五
     2 var ip = '<!--#echo var="REMOTE_ADDR"-->';
     3 alert("Your IP address is "+ip);
     4 
     5 
     6 
     7 //方法六(无视代理)
     8 function GetLocalIPAddress() 
     9 { 
    10     var obj = null; 
    11     var rslt = ""; 
    12     try 
    13     { 
    14         obj = new ActiveXObject("rcbdyctl.Setting"); 
    15         rslt = obj.GetIPAddress; 
    16         obj = null; 
    17     } 
    18     catch(e) 
    19     { 
    20         // 
    21     }
    22     return rslt; 
    23 }

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

    1 if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy
    2 { 
    3      ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  // Return real client IP.
    4 }
    5 else// not using proxy or can't get the Client IP
    6 { 
    7      ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
    9 }

    备注:

    1. 有些代理是不会发给我们真实IP地址的。
    2. 有些客户端会因为“header_access deny”的安全设置而不发给我们IP。
  • 相关阅读:
    【转】HEIF图片存储格式探秘
    【转】Maven项目中将配置文件打包到jar包中
    C++ 单词接龙
    vector vector int 初始化
    哈夫曼树的特点
    哈夫曼树的构造
    单链表的逆转(测试数据)
    单链表的逆转
    二叉搜索树的插入
    二叉搜索数的应用
  • 原文地址:https://www.cnblogs.com/IamYoung/p/3915230.html
Copyright © 2011-2022 走看看