HttpRequest对象包含了传入Web请求的HTTP数据包中包含的所有信息。HTTP标头、查询字符串、表单的输入字段、路径和URL信息的内容,被分别组织在不同的集合以及其他特殊对象中,能以编程方式便捷地访问。当ASP.NET开始处理Web请求时,HttpRequest对象会被填充,并通过HttpContext的Request属性暴露出来。
HttpRequest类的属性
HttpRequest类的属性可被分为三类:请求类型、客户端数据和连接
有关请求的信息
下表列出了有关请求信息的属性:
HttpBrowserCapabilities对象包含有关浏览器功能的大量信息,包括是否支持ActiveX控件、脚本语言、框架和Cookie等。当请求到达时,为确定发出请求的浏览器,会使用用户代理信息创建HttpBrowserCapabilities类的实例,并用浏览器特定的信息进行填充。这些信息不是浏览器动态设置的,而是从服务器存储库中离线获取的。
来自客户端的信息
下表列出了HttpRequest描述客户端数据的属性:
Params集合结合了4个不同但形式相似的集合:QueryString、Form、ServerVariables、Cookies,这与独立集合所包含的数据一致。该集合按以下次序填充:QueryString、Form、Cookies、ServerVariables。
有关连接的信息
下表列出了与打开连接有关的属性:
Uri类提供了统一资源标识符的对象表示。
HttpRequest类的方法
下表列出了HttpRequest类的主要方法:
将请求保存至磁盘
SaveAs方法使我们能创建存储HTTP请求所有内容的文件。注意,存储介质只能是磁盘文件,而不能使用流和编写器。由于ASP.NET默认情况下不会被授予磁盘的写入权限,所以,为ASP.NET帐户授予新建文件(或文件夹)的完全访问权限,是SaveAs成功运行的条件之一。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述