asp.net Request.ServerVariables[] 读解

所属分类: 网络编程 / ASP.NET 阅读数: 653
收藏 0 赞 0 分享
获取客户端的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")%>
更多精彩内容其他人还在看

MVC 5限制所有HTTP请求必须是POST方式

这篇文章主要为大家详细介绍了MVC 5限制所有HTTP请求必须是POST方式的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据

这篇文章主要介绍了ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据,需要的朋友可以参考下
收藏 0 赞 0 分享

Asp.net MVC 对所有用户输入的字符串字段做Trim处理的方法

这篇文章主要介绍了Asp.net MVC 如何对所有用户输入的字符串字段做Trim处理,需要的朋友可以参考下
收藏 0 赞 0 分享

NetCore WebSocket即时通讯示例

这篇文章主要为大家详细介绍了NetCore WebSocket即时通讯示例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

深入理解Asp.Net中WebForm的生命周期

这篇文章主要给大家介绍了关于Asp.Net中WebForm生命周期的相关资料,文中介绍的非常星系,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
收藏 0 赞 0 分享

VS2013安装时如何避开IE10的限制

这篇文章主要介绍了VS2013安装时如何避开IE10的限制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Jexus部署.Net Core项目

这篇文章主要为大家详细介绍了Jexus部署.Net Core项目的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

NetCore1.1+Linux部署初体验

这篇文章主要为大家详细介绍了NetCore1.1+Linux部署的初体验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Asp.NetCore1.1版本去掉project.json后如何打包生成跨平台包

这篇文章主要为大家详细介绍了Asp.NetCore1.1版本去掉project.json后如何打包生成跨平台包 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

开源跨平台运行服务插件TaskCore.MainForm

这篇文章主要为大家详细介绍了开源跨平台运行服务插件TaskCore.MainForm的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多