zoukankan      html  css  js  c++  java
  • c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明

    客户端ip: 

    Request.ServerVariables.Get("Remote_Addr").ToString(); 

    客户端主机名:

    Request.ServerVariables.Get("Remote_Host").ToString(); 

    客户端浏览器IE:

    Request.Browser.Browser; 

    客户端浏览器 版本号:

    Request.Browser.MajorVersion;//

    客户端操作系统:

    Request.Browser.Platform; 

    服务器ip: 

    Request.ServerVariables.Get("Local_Addr").ToString(); 

    服务器名:

    Request.ServerVariables.Get("Server_Name").ToString();

    如果你想进一步了解ServerVariables,可以用

    foreach(String o in Request.ServerVariables)
      Response.Write(o+"="+Request.ServerVariables[o]+"<br>"); 

    获取客户端IP方法

     public string GetIP()
         {
             string uip = "";
             if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
             {
                 uip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
             }
             else
             {
                 uip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
             }
             return uip;
         }
     
    C# 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"]%>

    Request.ServerVariables变量意义. http代理相关知识
    Request.ServerVariables["HTTP_VIA"]---------可以获得用户内部的ip
    Request.ServerVariables["HTTP_X_FORWARDED_FOR"]---------可以知道代理服务器的服务器名以及端口
    Request.ServerVariables["REMOTE_ADDR"]-- 发出请求的远程主机的 IP 地址。

    http代理相关知识
    关键就在HTTP_X_FORWARDED_FOR
    使用不同种类代理服务器,上面的信息会有所不同:

    一、没有使用代理服务器的情况:
    REMOTE_ADDR = 您的 IP
    HTTP_VIA = 没数值或不显示
    HTTP_X_FORWARDED_FOR = 没数值或不显示

    二、使用透明代理服务器的情况:Transparent Proxies
    REMOTE_ADDR = 代理服务器 IP 
    HTTP_VIA = 代理服务器 IP
    HTTP_X_FORWARDED_FOR = 您的真实 IP
    这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

    三、使用普通匿名代理服务器的情况:Anonymous Proxies
    REMOTE_ADDR = 代理服务器 IP 
    HTTP_VIA = 

  • 相关阅读:
    Windows Azure Cloud Service (14) 使用Windows Azure诊断收集日志记录数据
    Windows Azure Cloud Service (13) 用Visual Studio 2010 将应用程序部署到Windows Azure平台
    Windows Azure Cloud Service (15) 多个VM Instance场景下如何处理ASP.NET Session
    Windows Azure Storage (5) Windows Azure Drive
    Windows Azure Storage (7) 使用工具管理Windows Azure Storage
    SQL Azure(二) SQL Azure vs SQL Server
    webbrowser的自动提交
    提取视频的背景声音的软件
    Listview列排序的bug原因
    两个奇怪的问题
  • 原文地址:https://www.cnblogs.com/roboot/p/4769976.html
Copyright © 2011-2022 走看看