ASP.NET获取IP的6种方法 【转】

时间:2023-01-13 12:50:24

//方法一
ASP.NET获取IP的6种方法 【转】HttpContext.Current.Request.UserHostAddress; 
ASP.NET获取IP的6种方法 【转】
ASP.NET获取IP的6种方法 【转】//方法二
ASP.NET获取IP的6种方法 【转】HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
ASP.NET获取IP的6种方法 【转】
ASP.NET获取IP的6种方法 【转】//方法三
ASP.NET获取IP的6种方法 【转】string strHostName = System.Net.Dns.GetHostName();
ASP.NET获取IP的6种方法 【转】string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue().ToString();
ASP.NET获取IP的6种方法 【转】
ASP.NET获取IP的6种方法 【转】//方法四(无视代理)
ASP.NET获取IP的6种方法 【转】HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
ASP.NET获取IP的6种方法 【转】
ASP.NET获取IP的6种方法 【转】

ASP.NET获取IP的6种方法 【转】

客户端:


//方法五
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获取IP的6种方法 【转】的更多相关文章

  1. ASP&period;NET获取IP的6种方法

    服务端: //方法一 HttpContext.Current.Request.UserHostAddress; //方法二 HttpContext.Current.Request.ServerVari ...

  2. ASP&period;NET获取IP的6种方法 &lpar; 转&rpar;

    原文转自:http://www.cnblogs.com/blodfox777/archive/2008/07/21/1247447.html 服务端: //方法一 HttpContext.Curren ...

  3. ASP&period;NET获取IP的6种方法(转载于LanceZhang&&num;39&semi;s Tech Blog)

    服务端: //方法一 HttpContext.Current.Request.UserHostAddress; //方法二 HttpContext.Current.Request.ServerVari ...

  4. 获取IP的三种方法

    第一种 取本主机ip地址 public string GetLocalIp() { ///获取本地的IP地址 string AddressIP = string.Empty; foreach (IPA ...

  5. asp&period;net获取ip地址的方法

    在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的I ...

  6. C&num;获取当前路径的7种方法

    总结C#获取当前路径的7种方法 C#获取当前路径的方法如下: 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName ...

  7. 负载均衡获得真实源IP的6种方法 【转】

    除了X-FORWARD-FOR,负载均衡中获得真实源IP的方法还有很多种, 本文抛砖引玉,主要介绍获得真实源IP的多种方法,而不是具体配置, 负载均衡获得真实IP的方法有很多种,将形成专题文章, 本文 ...

  8. ASP&period;net MVC 文件下载的几种方法

      ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...

  9. Asp&period;Net保存session的三种方法 &lpar;Dll文件更新导致session丢失的解决办法&rpar;

    1. InProc模式(默认值):asp.net将session保存到当前进程中,这种方式最快,但是不能多台服务器共享session,且会话状态数据容易丢失. <sessionState mod ...

随机推荐

  1. windows下python脚本程序的运行

    c:\python33\python.exe c:\python33\trycoding.py

  2. Gradient Boost Decision Tree&lpar;&amp&semi;Treelink&rpar;

    http://www.cnblogs.com/joneswood/archive/2012/03/04/2379615.html 1.      什么是Treelink Treelink是阿里集团内部 ...

  3. &lbrack;RxJS&rsqb; Combination operator&colon; withLatestFrom

    Operator combineLatest is not the only AND-style combinator. In this lesson we will explore withLate ...

  4. CISC &plus; RISC &equals; Y86

    最近在读深入理解计算机系统,打算把读时的心得放上来 Y86有着CISC和RISC的属性Y86可以看成是CISC(IA32),但用RISC的原理简化了 CISC和RISC的竞争引发了许多争论CISC和R ...

  5. VMWare桥接、NAT和only-host三种模式

    如果你想利用VMWare安装虚拟机,或想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作.此时,对虚拟系统网络连接模式的选择就非常重要了.如果你选择的工作模式不正确,就无法实现上述目的,也就 ...

  6. Golang&colon; pprof

    压测的时候,如果在应用包里加入runtime包,会对压测产生非常严重的干扰. 测试1:开启runtime包 [luwenwei@test-weishi01v ~]$ siege -c --time=1 ...

  7. delphi XE Datasnap SERVER 在windows 7 下为服务添加描述信息

    网上对服务添加描述信息的,多数是用注册表的方式,而注册表的方式,我在win7 下测试,不知为什么,总是不行,把执行的CMD以管理员模式开启,还是没加进去. 于是在网上查到下面的代码,保存供叁考,原文博 ...

  8. 分布式缓存GemFire架构介绍

    1什么是GemFire GemFire是一个位于应用集群和后端数据源之间的高性能.分布式的操作数据(operational data)管理基础架构.它提供了低延迟.高吞吐量的数据共享和事件分发.Gem ...

  9. linux driver ------ 字符设备驱动 之 &OpenCurlyDoubleQuote; 创建设备节点流程 ”

    在字符设备驱动开发的入门教程中,最常见的就是用device_create()函数来创建设备节点了,但是在之后阅读内核源码的过程中却很少见device_create()的踪影了,取而代之的是device ...

  10. 【贪心】&lbrack;hdu1052&rsqb;Tian Ji -- The Horse Racing&lpar;田忌赛马&rpar;&lbrack;c&plus;&plus;&rsqb;

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...