当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。
这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。
在ServerVariables集合中返回的值包含的Web服务器详细信息和当前页面的路径信息。在任何地方创建一个页面都可使用这些信息。
参数服务器环境变量
指定要检索的服务器环境变量名。可以使用下面列出的值。
Request.ServerVariables["SERVER_NAME"] '获取服务器IP
Request.ServerVariables["HTTP_REFERER"] '获取访问来源页面
Request.ServerVariables["OS"] '获取操作系统
request.ServerVariables["APPL_PHYSICAL_PATH"] '获取IIS物理路径
Request.ServerVariables["SCRIPT_NAME"] '获取虚拟路径
Request.ServerVariables["NUMBER_OF_PROCESSORS"] '获取服务器CPU个数
Request.ServerVariables["SERVER_PORT"] '服务器处理请求的端口
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"] 返回内容:Cookie的值
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的数据类型
写代码查看了一下:
ALL_HTTP | HTTP_CONNECTION:Keep-AliveHTTP_ACCEPT:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*HTTP_ACCEPT_ENCODING:gzip, deflateHTTP_ACCEPT_LANGUAGE:zh-cnHTTP_COOKIE:Hm_lvt_08aef2b5cf5e50ed2c2d88c03acafc89=1342063478484; Hm_lpvt_08aef2b5cf5e50ed2c2d88c03acafc89=1342063478484HTTP_HOST:192.168.1.250:10HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) |
ALL_RAW | Connection: Keep-AliveAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*Accept-Encoding: gzip, deflateAccept-Language: zh-cnCookie: Hm_lvt_08aef2b5cf5e50ed2c2d88c03acafc89=1342063478484; Hm_lpvt_08aef2b5cf5e50ed2c2d88c03acafc89=1342063478484Host: 192.168.1.250:10User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) |
APPL_MD_PATH | /LM/W3SVC/1317416294/Root |
APPL_PHYSICAL_PATH | E:\WebSites\SearchWeb\ |
AUTH_TYPE | |
AUTH_USER | |
AUTH_PASSWORD | |
LOGON_USER | |
REMOTE_USER | |
CERT_COOKIE | |
CERT_FLAGS | |
CERT_ISSUER | |
CERT_KEYSIZE | |
CERT_SECRETKEYSIZE | |
CERT_SERIALNUMBER | |
CERT_SERVER_ISSUER | |
CERT_SERVER_SUBJECT | |
CERT_SUBJECT | |
CONTENT_LENGTH | 0 |
CONTENT_TYPE | |
GATEWAY_INTERFACE | CGI/1.1 |
HTTPS | off |
HTTPS_KEYSIZE | |
HTTPS_SECRETKEYSIZE | |
HTTPS_SERVER_ISSUER | |
HTTPS_SERVER_SUBJECT | |
INSTANCE_ID | 1317416294 |
INSTANCE_META_PATH | /LM/W3SVC/1317416294 |
LOCAL_ADDR | 192.168.1.250 |
PATH_INFO | /ServerVariablesTest.aspx |
PATH_TRANSLATED | E:\WebSites\SearchWeb\ServerVariablesTest.aspx |
QUERY_STRING | word=123&type=1 |
REMOTE_ADDR | 192.168.1.117 |
REMOTE_HOST | 192.168.1.117 |
REMOTE_PORT | 6983 |
REQUEST_METHOD | GET |
SCRIPT_NAME | /ServerVariablesTest.aspx |
SERVER_NAME | 192.168.1.250 |
SERVER_PORT | 10 |
SERVER_PORT_SECURE | 0 |
SERVER_PROTOCOL | HTTP/1.1 |
SERVER_SOFTWARE | Microsoft-IIS/6.0 |
URL | /ServerVariablesTest.aspx |
HTTP_CONNECTION | Keep-Alive |
HTTP_ACCEPT | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */* |
HTTP_ACCEPT_ENCODING | gzip, deflate |
HTTP_ACCEPT_LANGUAGE | zh-cn |
HTTP_COOKIE | Hm_lvt_08aef2b5cf5e50ed2c2d88c03acafc89=1342063478484; Hm_lpvt_08aef2b5cf5e50ed2c2d88c03acafc89=1342063478484 |
HTTP_HOST | 192.168.1.250:10 |
HTTP_USER_AGENT | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) |
简单代码实现:
<%
for (int i = 0; i < Request.ServerVariables.Count; i++)
{
%>
<%=Request.ServerVariables.AllKeys[i] %>
<%=Request.ServerVariables[i].ToString()%>
<%
}
%>