黑马程序员_学习笔记18_Request

本文介绍了ASP.NET中的Request对象,用于读取HTTP请求信息,包括虚拟路径、物理路径、原始URL、来源页面、用户IP、浏览器语言和Cookie等。还通过Request.UrlReferrer属性展示了如何实现简单的防盗链机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

Request 和 Response分别对应Http响应模式中的请求和响应。

在ASP.NET它们是两个对象。利用它们可以读取Http请求信息以及如何响应用户当前请求。

在Web后台 我们可以使用Request 来读取Http请求报文中信息以及表单信息。(非表单数据的读取

只能交给视图状态去管理。)

Request 和HttpRequest数据类型,它是HttpContext的一个对象 有很多的方法和属性。

ASP.NET的编写的网站仍然是遵循传统的网站模式,每一个页面代码的后台页面

也都是继承自IhttpHandler也可以看出来。

此接口中的第一个参数 HttpContext对象中就封装了用户请求过来的

信息以及Http请求报文的对象Request 和 响应用户请求信息的Response对象以及服务器的各种服务

应用的对象Server。

 

 

Request对象有很多属性,下面列举几项:

1.Request.AppRelativeCurrentExecutionFilePath:获取当前执行请求相对于应用目录的虚拟路径

   是"~"开头,比如"~/handler.ashx"

 

2.Request.PhysicalApplicationPath,获取当前相对于应用目录的物理路径:比如:D:\我的文档\

WebSite1\

 

3.Request.PhysicalPath 获取当前请求在服务器上的物理路径D:\我的文档\

WebSite1\UserLogin.aspx

 

4.Request.RawUrl  获取原始请求的URL ,Request.URi 获取请求的URL。这会涉及到URL

重写的问题。

 

5.Request.UrlReferrer 网页的来源,可以根据这个来判断从百度搜的哪个关键字词,防盗链瞎子啊

,防图片盗链,但是不是绝对安全(可以伪造。比如:迅雷)

 

6.Request.UserHostAdress 获取当前请求的IP地址。

 

7.Request.UserLanguage 获取当前请求的浏览器支持的语言。

 

8.Request.Cookie 获取当前浏览器发送过来的cookie

 

9.Request.MapPath("VirtualPath")  将磁盘上的虚拟路径转化为绝对路径。推荐使用ServerMapPath.

 

下面来使用Request的第五个属性UrlReferrer来做一个防盗链的例子:

一般处理文件,用于向用户请求输出图片:

 

如果是直接访问该文件:

如果不是本域名的网页访问该图片:

如果是本域名通过网页访问:

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
详细请查看: http://net.itheima.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值