C# 之 HttpRequest 类
Request对象派生自HttpRequest类,使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值,从客户端获取信息,浏览器的种类,用户输入表单的数据,Cookies,客户端认证等,对应的Response.Write 负责处理前者获取的东西。
构造函数:public HttpRequest(string filename, string url, string queryString)
- filename:与请求关联的文件的名称;url:有关当前请求的 URL 的信息;queryString:与请求一起发送的整个查询字符串('?' 之后的所有内容)。
- 属性:
名称 | 用法 | 说明 |
AcceptTypes | String[] arr = Request.AcceptTypes; | 获取客户端支持的 MIME 接受类型的字符串数组。 |
AnonymousID | Request.AnonymousID | 获取该用户的匿名标识符(如果存在)。 |
ApplicationPath | Request.ApplicationPath | 获取服务器上 ASP.NET 应用程序的虚拟应用程序根路径。 |
AppRelativeCurrentExecutionFilePath | Request.AppRelativeCurrentExecutionFilePath | 获取应用程序根的虚拟路径,并通过对应用程序根使用波形符 (~) 表示法(例如,以“~/page.aspx”的形式)使该路径成为相对路径。 |
Browser | Request.Browser | 获取或设置有关正在请求的客户端的浏览器功能的信息。 |
ClientCertificate | Request.ClientCertificate | 获取当前请求的客户端安全证书。 |
ContentEncoding | String EncodingType; EncodingType = Request.ContentEncoding.EncodingName; |
获取或设置实体主体的字符集。 |
ContentLength | Request.ContentLength | 指定客户端发送的内容长度(以字节计)。 |
ContentType | String str; str = Request.ContentType; |
获取或设置传入请求的 MIME 内容类型。 |
Cookies | HttpCookie MyCookie; MyCookieColl = Request.Cookies; |
获取客户端发送的 Cookie 的集合。 |
CurrentExecutionFilePath | sw.WriteLine(Server.HtmlEncode(Request.CurrentExecutionFilePath)); | 获取当前请求的虚拟路径。 |
CurrentExecutionFilePathExtension | Request。CurrentExecutionFilePathExtension | 获取 CurrentExecutionFilePath 属性中指定的文件名的扩展名。 |
FilePath | Request.FilePath | 获取当前请求的虚拟路径。 |
Files | HttpFileCollection Files = Request.Files; | 获取采用多部分 MIME 格式的由客户端上载的文件的集合。 |
Filter | Request.Filter = new QQQ1(Request.Filter); | 获取或设置在读取当前输入流时要使用的筛选器。 |
Form |
NameValueCollection coll = Request.Form; String[] arr1 = coll.AllKeys; |
获取窗体变量集合。
|
Headers |
NameValueCollection coll = Request.Headers; String[] arr1 = coll.AllKeys; |
获取 HTTP 头集合。 |
HttpChannelBinding |
获取当前 HttpWorkerRequest 实例的 ChannelBinding 对象。
|
|
HttpMethod | sw.WriteLine(Server.HtmlEncode(Request.HttpMethod)); | 获取客户端使用的 HTTP 数据传输方法(如 GET、POST 或 HEAD)。 |
InputStream | System.IO.Stream str = Request.InputStream; | 获取传入的 HTTP 实体主体的内容。 |
IsAuthenticated | Request.IsAuthenticated | 获取一个值(true or false),该值指示是否验证了请求。 |
IsLocal | Request.IsLocal | 获取一个值(true or false),该值指示是否来自本地计算机。 |
IsSecureConnection | Request.IsSecureConnection | 获取一个值(true or false),指示 HTTP 连接是否使用安全套接字(即 HTTPS)。 |
Item | 从 QueryString、Form、Cookies 或 ServerVariables 集合获取指定的对象。 | |
LogonUserIdentity | if (!Request.LogonUserIdentity.IsAuthenticated) Response.Redirect("LoginPage.aspx"); |
获取当前用户的 WindowsIdentity 类型。 |
Params | NameValueCollection pColl = Request.Params; | 获取 QueryString、Form、Cookies 和 ServerVariables 项的组合集合。 |
Path | Request.Path | 获取当前请求的虚拟路径。 |
PathInfo | sw.WriteLine(Server.HtmlEncode(Request.PathInfo)); | 获取具有 URL 扩展名的资源的附加路径信息。 |
PhysicalApplicationPath | sw.WriteLine(Server.HtmlEncode(Request.PhysicalApplicationPath)); | 获取当前正在执行的服务器应用程序的根目录的物理文件系统路径 |
PhysicalPath | sw.WriteLine(Server.HtmlEncode(Request.PhysicalPath)); | 获取与请求的 URL 相对应的物理文件系统路径。 |
QueryString | string fullname1 = Request.QueryString["fullname"]; string fullname2 = Request["fullname"]; |
获取 HTTP 查询字符串变量集合。 |
RawUrl | Request.RawUrl | 获取当前请求的原始 URL。 |
ReadEntityBodyMode | 获取指示请求实体是否被读以及如何被读的值。 | |
RequestContext | 获取当前请求的 RequestContext 实例。 | |
RequestType | sw.WriteLine(Server.HtmlEncode(Request.RequestType)); | 获取或设置客户端使用的 HTTP 数据传输方法(GET 或 POST)。 |
ServerVariables | NameValueCollection coll = Request.ServerVariables; String[] arr1 = coll.AllKeys; |
获取 Web 服务器变量的集合。 |
TimedOutToken | 获取请求超时时去除的 CancellationToken 对象。 | |
TotalBytes | Request.TotalBytes | 获取当前输入流中的字节数 |
Unvalidated | 提供对 HTTP 请求值的访问权限,不触发请求验证。 | |
Url | Uri MyUrl = Request.Url; | 获取有关当前请求的 URL 的信息。 |
UrlReferrer | Uri MyUrl = Request.UrlReferrer; | 获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL。 |
UserAgent | String userAgent = Request.UserAgent; | 获取客户端浏览器的原始用户代理信息。 |
UserHostAddress | sw.WriteLine(Server.HtmlEncode(Request.UserHostAddress)); | 获取远程客户端的 IP 主机地址。 |
UserHostName | sw.WriteLine(Server.HtmlEncode(Request.UserHostName)); | 获取远程客户端的 DNS 名称。 |
UserLanguages | String[] userLang = Request.UserLanguages; | 获取客户端语言首选项的排序字符串数组。 |
方法:
名称 | 用法 | 说明 |
Abort | Abort() | 强制地终止基础 TCP 连接,会导致任何显著的 I/O 失败。 |
BinaryRead | public byte[] BinaryRead(int count) | 执行对当前输入流进行指定字节数的二进制读取。 |
Equals (Object) | person1a.Equals(person1b)); | 确定指定的对象是否等于当前对象。 |
GetBufferedInputStream | public Stream GetBufferedInputStream() | 获取一个 Stream 对象,该对象可用于读取传入的 HTTP 实体主体。 |
GetBufferlessInputStream() | public Stream GetBufferlessInputStream() | 获取一个 Stream 对象,该对象可用于读取传入的 HTTP 实体主体。 |
GetBufferlessInputStream (Boolean) | public Stream GetBufferlessInputStream( bool disableMaxRequestLength ) |
获取能被用于读取正在到来的 HTTP 实体正文的 Stream 对象, 同时随意地禁止设置在 MaxRequestLength 属性中的请求长度限制。 |
GetHashCode | public virtual int GetHashCode() | 作为默认哈希函数。 (继承自 Object。) |
GetType | Object.GetType() | 获取当前实例的 Type。 (继承自 Object。) |
InsertEntityBody | public void InsertEntityBody() | 向 IIS 提供 HTTP 请求实体正文的副本。 |
InsertEntityBody(byte[], int, int) | public void InsertEntityBody(byte[] buffer, int offset, int count) | 向 IIS 提供 HTTP 请求实体正文的副本以及有关请求实体对象的信息。 |
MapImageCoordinates | public int[] MapImageCoordinates(string imageFieldName) | 将传入图像字段窗体参数映射为适当的 x 坐标值和 y 坐标值。 |
MapPath(string) | public string MapPath(string virtualPath) | 将指定的虚拟路径映射到物理路径。 |
MapPath(String, String, Boolean) | public string MapPath(string virtualPath,string baseVirtualDir,bool allowCrossAppMapping) | 将指定的虚拟路径映射到物理路径。 |
MapRawImageCoordinates | public double[] MapRawImageCoordinates(string imageFieldName) | 将传入图像字段窗体参数映射为适当的 x 和 y 坐标值。 |
SaveAs | public void SaveAs(string filename,bool includeHeaders) | 将 HTTP 请求保存到磁盘。 |
ToString | Object obj = new Object(); Console.WriteLine(obj.ToString()); |
返回表示当前对象的字符串。 (继承自 Object。) |
ValidateInput | public void ValidateInput() | 对通过 Cookies 、Form 和 QueryString 属性访问的集合进行验证。 |
C# 之 HttpRequest 类的更多相关文章
- HttpRequest 类
关于此类的介绍:查看HttpRequest类 点击查看:HttpRequest中方法的封装 跟这个类对应的HttpResponse类 定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 ...
- ASP.NET -- WebForm -- HttpRequest类的方法和属性
ASP.NET -- WebForm -- HttpRequest类的方法和属性 1. HttpRequest类的方法(1) BinaryRead: 执行对当前输入流进行指定字节数的二进制读取. ( ...
- HttpWebRequest类与HttpRequest类的区别
HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等. HttpWebR ...
- C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
C#,WebRequest类和HttpWebRequest类的区别? httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRe ...
- (4)ASP.NET HttpRequest 类
HttpRequest 类的主要作用是读取客户端在 Web 请求期间发送的 HTTP 值. https://msdn.microsoft.com/zh-cn/library/system.web.ht ...
- .net学习笔记----HttpRequest类
一.HttpRequest的作用 HttpRequest的作用是令到Asp.net能够读取客户端发送HTTP值.比如表单.URL.Cookie传递过来的参数. 返回字符串的那些值就不说了,那些基本上都 ...
- HttpRequest类
一.HttpRequest的作用 HttpRequest的作用是令到Asp.net能够读取客户端发送HTTP值.比如表单.URL.Cookie传递过来的参数. 返回字符串的那些值就不说了,那些基本上都 ...
- .net学习笔记----HttpRequest,WebRequest,HttpWebRequest区别
WebRequest是一个虚类/基类,HttpWebRequest是WebRequest的具体实现 HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所 ...
- java http工具类和HttpUrlConnection上传文件分析
利用java中的HttpUrlConnection上传文件,我们其实只要知道Http协议上传文件的标准格式.那么就可以用任何一门语言来模拟浏览器上传文件.下面有几篇文章从http协议入手介绍了java ...
随机推荐
- BZOJ2038 [2009国家集训队]小Z的袜子 莫队+分块
作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从 ...
- centos6.5环境wget报错Unable to establish SSL connection
centos6.5环境wget报错Unable to establish SSL connection [root@centossz008 src]# wget --no-check-certific ...
- ES的Query、Filter、Metric、Bucketing使用详解
由于笔者在实际项目仅仅将ES用作索引数据库,并没有深入研究过ES的搜索功能.而且鉴于笔者的搜索引擎知识有限,本文将仅仅介绍ES简单(非全文)的查询API. 笔者原本打算在本文中介绍聚合API的内容,但 ...
- hash·余数hash和一致性hash
网站的伸缩性架构中,分布式的设计是现在的基本应用. 在memcached的分布式架构中,key-value缓存的命中通常采用分布式的算法 一.余数Hash 简单的路由算法可以使用余数Hash: ...
- ASP.NET的路由系统:路由映射
总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapP ...
- 一篇文章教你读懂UI绘制流程
最近有好多人问我Android没信心去深造了,找不到好的工作,其实我以一个他们进行回复,发现他们主要是内心比较浮躁,要知道技术行业永远缺少的是高手.建议先阅读浅谈Android发展趋势分析,在工作中, ...
- eclipse 安装教程
eclipse 安装教程 一:安装包下载: 链接: https://pan.baidu.com/s/1qZtt62o 密码: 4ak2 注:若 下载链接失效,请看本文公告的QQ群,请联系群主. 二:安 ...
- http之cdn介绍
百度百科:CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能 ...
- python自动化-unittest批量执行用例(discover)
前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的Text ...
- MySQL之IDE工具介绍及数据备份
一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 二.MySQL数据备份 # ...