• Request.ServerVariables[] 读解 (转)


    获取客户端的IP地址,代码如下:

           /// <summary>       
    ///
    获取客户端IP地址
    /// </summary>
    /// <returns></returns>
    public string GetClientIP()
    {
    string userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (userIP == null)
    userIP = Request.ServerVariables["REMOTE_ADDR"];
    return userIP;
    }

    名词解释: ServerVariables  -- 服务器变量

    Request.ServerVariables("Url") 
    返回服务器地址
    Request.ServerVariables("Path_Info") 
    客户端提供的路径信息
    Request.ServerVariables("Appl_Physical_Path") 
    与应用程序元数据库路径相应的物理路径
    Request.ServerVariables("Path_Translated") 
    通过由虚拟至物理的映射后得到的路径
    Request.ServerVariables("Script_Name") 
    执行脚本的名称
    Request.ServerVariables("Query_String") 
    查询字符串內容
    Request.ServerVariables("Http_Referer") 
    请求的字符串內容
    Request.ServerVariables("Server_Port") 
    接受请求的服务器端口号
    Request.ServerVariables("Remote_Addr") 
    发出请求的远程主机的IP地址
    Request.ServerVariables("Remote_Host") 
    发出请求的远程主机名称
    Request.ServerVariables("Local_Addr") 
    返回接受请求的服务器地址
    Request.ServerVariables("Http_Host") 
    返回服务器地址
    Request.ServerVariables("Server_Name") 
    服务器的主机名、DNS地址或IP地址
    Request.ServerVariables("Request_Method") 
    提出请求的方法比如GET、HEAD、POST等等
    Request.ServerVariables("Server_Port_Secure")
    如果接受请求的服务器端口为安全端口时,则为1,否则为0
    Request.ServerVariables("Server_Protocol")
    服务器使用的协议的名称和版本
    Request.ServerVariables("Server_Software")
    应答请求并运行网关的服务器软件的名称和版本
    Request.ServerVariables("All_Http")
    客户端发送的所有HTTP标头,前缀HTTP_
    Request.ServerVariables("All_Raw")
    客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_
    Request.ServerVariables("Appl_MD_Path")
    应用程序的元数据库路径
    Request.ServerVariables("Content_Length")
    客户端发出內容的长度
    Request.ServerVariables("Https")
    如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF
    Request.ServerVariables("Instance_ID")
    IIS实例的ID号
    Request.ServerVariables("Instance_Meta_Path")
    响应请求的IIS实例的元数据库路径
    Request.ServerVariables("Http_Accept_Encoding")
    返回內容如:gzip,deflate
    Request.ServerVariables("Http_Accept_Language")
    返回內容如:en-us
    Request.ServerVariables("Http_Connection")
    返回內容:Keep-Alive
    Request.ServerVariables("Http_Cookie")
    返回內容如:nVisiT%
    2DYum=125;ASPSESSIONIDCARTQTRA=FDOBFFABJGOECBBKHKGPFIJI;ASPSESSIONIDCAQQTSRB=LKJJPLABABILLPCOGJGAMKAM;ASPSESSIONIDACRRSSRA=DK
    HHHFBBJOJCCONPPHLKGHPB
    Request.ServerVariables("Http_User_Agent")
    返回內容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)
    Request.ServerVariables("Https_Keysize")
    安全套接字层连接关键字的位数,如128
    Request.ServerVariables("Https_Secretkeysize")
    服务器验证私人关键字的位数如1024
    Request.ServerVariables("Https_Server_Issuer")
    服务器证书的发行者字段
    Request.ServerVariables("Https_Server_Subject")
    服务器证书的主题字段
    Request.ServerVariables("Auth_Password")
    当使用基本验证模式时,客户在密码对话框中输入的密码
    Request.ServerVariables("Auth_Type")
    是用户访问受保护的脚本时,服务器用於检验用户的验证方法
    Request.ServerVariables("Auth_User")
    代证的用户名
    Request.ServerVariables("Cert_Cookie")
    唯一的客户证书ID号
    Request.ServerVariables("Cert_Flag")
    客户证书标誌,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1
    Request.ServerVariables("Cert_Issuer")
    用户证书中的发行者字段
    Request.ServerVariables("Cert_Keysize")
    安全套接字层连接关键字的位数,如128
    Request.ServerVariables("Cert_Secretkeysize")
    服务器验证私人关键字的位数如1024
    Request.ServerVariables("Cert_Serialnumber")
    客户证书的序列号字段
    Request.ServerVariables("Cert_Server_Issuer")
    服务器证书的发行者字段
    Request.ServerVariables("Cert_Server_Subject")
    服务器证书的主题字段
    Request.ServerVariables("Cert_Subject")
    客户端证书的主题字段
    Request.ServerVariables("Content_Type")
    客户发送的form內容或HTTPPUT的数据类型
    Request.ServerVariables("HTTP_X_FORWARDED_FOR") 
    可以获得位于代理(网关)后面的直接IP,当然必须这个代理支持
    一些被隐藏起来的Request.ServerVariables参数:
    Request.ServerVariables("NUMBER_OF_PROCESSORS")
    Request.ServerVariables("OS")
    Request.ServerVariables("WINDIR")
    Request.ServerVariables("TEMP")
    Request.ServerVariables("TMP")
    Request.ServerVariables("ComSpec")
    Request.ServerVariables("Os2LibPath")
    Request.ServerVariables("Path")
    Request.ServerVariables("PATHEXT")
    Request.ServerVariables("PROCESSOR_ARCHITECTURE")
    Request.ServerVariables("PROCESSOR_IDENTIFIER")
    Request.ServerVariables("PROCESSOR_LEVEL")
    Request.ServerVariables("PROCESSOR_REVISION")
    本机ip:<%=request.servervariables("remote_addr")%>
    服务器名:<%=Request.ServerVariables("SERVER_NAME")%>
    服务器IP:<%=Request.ServerVariables("LOCAL_ADDR")%>
    服务器端口:<%=Request.ServerVariables("SERVER_PORT")%>
    服务器时间:<%=now%>
    IIS版本:<%=Request.ServerVariables("SERVER_SOFTWARE")%>
    脚本超时时间:<%=Server.ScriptTimeout%>
    本文件路径:<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
    服务器CPU数量:<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>
    服务器解译引擎:<%=ScriptEngine & "/"& ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
    服务器操作系统:<%=Request.ServerVariables("OS")%>
    支持的文件类型:<%=Request.ServerVariables("HTTP_Accept")%>
    访问的文件路径:<%=Request.ServerVariables("HTTP_url")%>
    用户代理的信息:<%=Request.ServerVariables("HTTP_USER_AGENT")%>

  • 相关阅读:
    myeclipse10集成Tomcat6时出现错误
    myeclipse10.0如何集成Git
    java中Integer在JDK1.6和JDK1.7中的区别
    Git简介和安装
    Git配置的用户名密码在本地的存贮位置
    关于ActiveMQ接收端停止接收的方法
    eclipse集成SVN插件-----复制添加插件
    【Python3之常用模块】
    【Python中if __name__ == '__main__': 的解析】
    【Python3之面向对象的程序设计】
  • 原文地址:https://www.cnblogs.com/binbin695/p/1723902.html
Copyright © 2020-2023  润新知