客户端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 = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP

转载于:https://www.cnblogs.com/kissed/p/10563964.html

c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明相关推荐

  1. c#中获取服务器IP,客户端IP以及其它

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVariab ...

  2. .NET中获取电脑名、IP及用户名方法

     .NET中获取电脑名.IP及用户名方法 在.NET中获取一台电脑名,IP地址及当前用户名是非常简单,以下是我常用的几种方法,如果大家还有其他好的方法,可以回复一起整理: 1. 在ASP.NET中专用 ...

  3. php网站内网用什么系统服务器,php获取服务器内网ip

    php获取服务器内网ip 内容精选 换一换 DHCP无法正常获取内网IP,当DHCP无法正常获取内网IP时,不同系统的云服务器表现如下:Linux系统表现为无法获取内网IP.windows系统由于自身 ...

  4. 网站配置了Cloudflare代理后,如何配置Nginx获取的真实客户端IP地址?

    网站配置了Cloudflare代理后,如何配置Nginx获取的真实客户端IP地址? 这是一个很简单的问题,如何在后台获取真实的访问者IP地址? 网站为了避免有些不怀好意的访问者,不得不自动分析一下客户 ...

  5. IIS 7、8启用nginx代理后日志中获取访客真实IP方法

    所需的步骤取决于您的IIS版本.此操作适用iis7之上版本. 1.下载插件F5XForwardedFor.dll:http://download.west263.net/iis7-rewrite%E6 ...

  6. 如何在Node.js中获取本机本地IP地址

    最近在做Cloud related的项目时,遇到一个问题,就是如何在Node.js中获取本机的IP地址.Node.js提供的API中,只能获取本机的hostname. os = require('os ...

  7. android获取服务器时间格式,Android 获取服务器与客户端时差的实例代码

    一般我们在做商品倒计时的时候会遇到要从后台获取商品的开始时间和结束时间,还要计算商品距离开始时间的倒计时和结束时间的倒计时,但是这样只是从后台获取到开始时间,还要再和手机系统的时间相减,才能获取到开始 ...

  8. 在内网服务器中获得真正的客户端ip的方法

    如下代码: /**//// <summary>     /// RealIP 的摘要说明:     /// 获得用户的真实ip,由于squidserver的原因直接取到的ip是内网ip   ...

  9. .NET中获取电脑名,IP地址,当前用户

    在.NET中获取一台电脑名,IP地址及当前用户名是非常简单,以下是我常用的几种方法,如果大家还有其它好的方法,可以回复一起整理: 1. 在ASP.NET中专用属性: 获取服务器电脑名: Page.Se ...

最新文章

  1. 26.智能指针和动态内存
  2. 第十三届蓝桥杯Java_C组题目
  3. 爬虫代理及ssl验证
  4. 类中函数模板 typeof_Julia中的typeof()函数
  5. MFC窗口标题栏隐藏
  6. TAAL在加拿大阿尔伯塔省工厂开启区块链基础设施运营
  7. CSS高级技巧【学习笔记】
  8. android camera 拍照流程图
  9. 网页设计与制作项目三“网上花店”
  10. 递归算法之八皇后问题
  11. 【进制转换】如何使用C++将2进制转换为16进制?
  12. 程序员转行干什么好呢
  13. 【人月神话】第二章:人月神话
  14. OpenJudge-005雇佣兵(解析)
  15. Excel Application对象应用大全
  16. failed to respond问题查找
  17. 谈对Spring框架的大策大悟
  18. qlserver、Mysql、Oracle三种数据库的优缺点总结
  19. openwrt 认证收费_OpenWrt wifidog 实现收费提醒效果
  20. 基于三维数模的零件三坐标检测2020

热门文章

  1. Spark Streaming初步使用以及工作原理详解
  2. IT 人士如何避免中年危机?
  3. Sublime Text3 如何安装、删除及更新插件
  4. SparkStreaming入门及例子
  5. 一种简便的ios图片加密方法-对图片进行base64编码
  6. PhD representive Punting and Dinner Plan
  7. ways to talk with girls
  8. 好的英文视频照片网站
  9. VisualStudio代码样式-我最喜欢的一种风格
  10. 使用JIRA搭建企业问题跟踪系统(转)