zoukankan      html  css  js  c++  java
  • 得到客户端/代理服务器IP

    string GetIp()
    {

    //可以透过代理服务器
    string userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (userIP == null || userIP == "")
    {

    //没有代理服务器,如果有代理服务器获取的是代理服务器的IP
    userIP = Request.ServerVariables["REMOTE_ADDR"];
    }
    return userIP;

    }

    在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR")来读取。不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP。还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理: userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR") 即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。

    PS.下面是一些得到关于客户端IP/用户名等信息的方法:

    1.在ASP.NET中得到的方法:

    获得服务器电脑名称:Page.Server.ManchineName

    获取用户信息:Page.User

    获得客户端电脑名称:Page.Request.UserHostName

    获得客户端电脑IP:Page.Request.UserHostAddress

    Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]

    Page.Request.ServerVariables["REMOTE_ADDR"]

  • 相关阅读:
    《DSP using MATLAB》 示例 Example 9.12
    《DSP using MATLAB》示例 Example 9.11
    《DSP using MATLAB》示例 Example 9.10
    《DSP using MATLAB》示例Example 9.9
    《DSP using MATLAB》示例 Example 9.8
    《DSP using MATLAB》示例Example 9.7
    《DSP using MATLAB》示例 Example 9.6
    《DSP using MATLAB》示例Example 9.5
    《DSP using MATLAB》示例 Example 9.4
    (转载)【C++11新特性】 nullptr关键字
  • 原文地址:https://www.cnblogs.com/yxyht/p/2717408.html
Copyright © 2011-2022 走看看