c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明
客户端ip:
客户端主机名:
客户端浏览器IE:
客户端浏览器 版本号:
客户端操作系统:
服务器ip:
服务器名:
如果你想进一步了解ServerVariables,可以用
Response.Write(o+"="+Request.ServerVariables[o]+"<br>");
}
获取客户端IP方法
{
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;
}
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 =
c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明的更多相关文章
- C#中获取服务器IP,客户端IP以及网卡物理地址
客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVariab ...
- c#中获取服务器IP,客户端IP以及其它
客户端ip:Request.ServerVariables.Get("Remote_Addr").ToString();客户端主机名:Request.ServerVariables ...
- 获取请求Requst中访问请求的客户端IP
获取请求Request中访问请求的客户端IP /*获取请求客户端的IP地址*/ public static String getIpAddress(HttpServletRequest request ...
- Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip
目录 Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip 场景 过程还原 结论 参考资料 Nginx+Docker部署模式下 asp.net core 获取真实的客户端 ...
- Request.ServerVariables 获取服务器或者客户端信息
本机ip[客户端]:request.servervariables("remote_addr") 从哪个页面转到当前页面的:Request.ServerVariables(&quo ...
- 2) broadcast,这是启动完毕之后,集群中的服务器开始接收客户端的连接一起工作的过程,如果客户端有修改数据的改动,那么一定会由leader广播给follower,所以称为”broadcast”.
2) broadcast,这是启动完毕之后,集群中的服务器开始接收客户端的连接一起工作的过程,如果客户端有修改数据的改动,那么一定会由leader广播给follower,所以称为”broadcast” ...
- C#中Request.ServerVariables详细说明及代理
Request.ServerVariables("Url") 返回服务器地址 Request.ServerVariables("Path_Info") 客户端提 ...
- java中获取服务器的IP和端口
struts2 获取request HttpServletRequest requet=ServletActionContext.getRequest(); requet.getScheme()+&q ...
- nginx中获取真实的客户端访问IP
date : 2019-06-28 16:54:50 author: headsen chen notice: 个人原创 1,必需要先搞清楚的基本概念 1.1 什么是remote_addr ...
随机推荐
- PHPStorm+PHP5.6+WIN7+IIS7
文件下载 以下为参考网址,如无法打开或变动,请自行搜索,获取最新版本文件请行搜索 PHP Manager:http://www.iis.net/downloads/community/2010/09/ ...
- DELPHI 获取本月 的第一天 和 最后一天
USER :DateUtils 使用 StartOfTheMonth 和 EndOfTheMonth 函数获取即可: procedure TForm1.btn1Click(Sender: TObj ...
- poj 3903 Stock Exchange(最长上升子序列,模版题)
题目 #include<stdio.h> //最长上升子序列 nlogn //入口参数:数组名+数组长度,类型不限,结构体类型可以通过重载运算符实现 //数组下标从1号开始. int bs ...
- POJ 3255
Roadblocks Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6605 Accepted: 2458 Descri ...
- Javascript 正则表达式笔记2
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- mvc5 知识点01
1.ViewBag 动态数据类型,也就是说可以随便指定属性,前后台传值很是有用 2.Layout 属性,定义模版,模版中一般用@RenderBody() 做占位符,用于放置子页面内容 3.@model ...
- 编程实现linux下的shell
/************************************************************************* > File Name: Kris_shel ...
- 使用datatable 将测试数据与业务分离
当基本一致的业务流程, 需要测试繁杂的测试数据时,就可以将测试数据参数化了,同时使用datatable来实现测试数据与业务分离,这个方法在我现在的项目中应用在很多地方,感觉超级方便,现对工作中的应用做 ...
- 线段树(区间合并) POJ 3667 Hotel
题目传送门 /* 题意:输入 1 a:询问是不是有连续长度为a的空房间,有的话住进最左边 输入 2 a b:将[a,a+b-1]的房间清空 线段树(区间合并):lsum[]统计从左端点起最长连续空房间 ...
- interviewbit : Max Non Negative SubArrayBookmark Suggest Edit
Find out the maximum sub-array of non negative numbers from an array.The sub-array should be continu ...