ASP.NET获取请求的url信息汇总

  最近做项目需要处理一个用代码获取当前网站的域名或ip信息的问题,于是尝试了ASP.NET中各种获取url信息的方法,在此总结一下:

在Global.asax文件中的 Application_BeginRequest 方法中,加入以下代码,利用日志文件记录各种方法得到的信息

            HttpApplication app = sender as HttpApplication;

            logger.Debug("Request.ApplicationPath:" + app.Request.ApplicationPath);
logger.Debug("Request.FilePath:" + app.Request.FilePath);
logger.Debug("Request.Path:" + app.Request.Path);
logger.Debug("Request.PathInfo:" + app.Request.PathInfo);
logger.Debug("Request.PhysicalApplicationPath:" + app.Request.PhysicalApplicationPath);
logger.Debug("Request.PhysicalPath:" + app.Request.PhysicalPath);
logger.Debug("Request.RawUrl:" + app.Request.RawUrl);
logger.Debug("Request.Url:" + app.Request.Url);
logger.Debug("Request.Url.AbsolutePath:" + app.Request.Url.AbsolutePath);
logger.Debug("Request.Url.AbsoluteUri:" + app.Request.Url.AbsoluteUri);
logger.Debug("Request.Url.Authority:"+app.Request.Url.Authority);
logger.Debug("Request.Url.Fragment:" + app.Request.Url.Fragment);
logger.Debug("Request.Url.Host:" + app.Request.Url.Host);
logger.Debug("Request.Url.LocalPath:" + app.Request.Url.LocalPath);
logger.Debug("Request.Url.OriginalString:" + app.Request.Url.OriginalString);
logger.Debug("Request.Url.PathAndQuery:" + app.Request.Url.PathAndQuery);
logger.Debug("Request.Url.Query:" + app.Request.Url.Query);
logger.Debug("Request.Url.Segments:");
foreach (string item in app.Request.Url.Segments)
{
logger.Debug(item+"\t");
}

  logger 是定义的一个基于log4net的日志助手

Common.LogHelper 日志助手类 定义

请求url为:http://localhost:13877/NewsList-18.aspx?t=1&s=1 时的日志输出结果:

分类总结一下:

获得完全路径(在浏览器中地址栏的url):Request.Url、Request.Url.AbsoluteUri、Request.Url.OriginalString

相对网站的虚拟路径(带请求参数):Request.Url.RawUrl、Request.Url.PathAndQuery

相对网站的虚拟路径(不带请求参数):Request.FilePath、Request.Path、Request.Url.AbsolutePath、Request.Url.LocalPath

仅获取请求参数信息:Request.Url.Query

ASP.NET获取请求的url信息汇总的更多相关文章

  1. asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码

    用 asp.net获取当前网页地址的一些信息. 设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http:// ...

  2. 【转】asp.net获取当前页面的url地址

    设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.jb5 ...

  3. asp.net获取当前网址url

    asp.net获取当前网址url   设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://" ...

  4. asp.net获取当前网址url【转】

    设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.jb5 ...

  5. asp.net获取当前页面的url地址

    设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.jb5 ...

  6. 获取当前页面的URL信息

    以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面.之前一直是在每个不同页面写方法.工程量大,也不便于修改.一直在想有什么简便的方法实现.后来在网上查到可以用获取当前U ...

  7. HttpServletRequest获取请求得URL信息

    request对象中包含的是请求信息,当我们在浏览器地址栏上输入:http://localhost:8080/Example/AServlet?username=zhangsan,这段地址也会作为请求 ...

  8. JQUERY获取当前页面的URL信息

    以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面.之前一直是在每个不 同页面写方法.工程量大,也不便于修改.一直在想有什么简便的方法实现.后来在网上查到可以用获取当前 ...

  9. 前端 jquery获取当前页面的URL信息

    以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面.之前一直是在每个不同页面写方法.工程量大,也不便于修改.一直在想有什么简便的方法实现.后来在网上查到可以用获取当前U ...

随机推荐

  1. Java程序性能优化Tip

    本博客是阅读<java time and space performance tips>这本小书后整理的读书笔记性质博客,增加了几个测试代码,代码可以在此下载:java时空间性能优化测试代 ...

  2. FastReport.Net在Rozor中的应用

    Webconfig中配置 IIS6.0 <system.web> <httpHandlers> 下增加 <httpHandlers> <add path=&q ...

  3. 【Android学习】XML文本的三种解析方式(通过搭建本地的Web项目提供XML文件)

    XML为一种可扩展的标记语言,是一种简单的数据存储语言,使用一系列简单的标记来描述. 一.SAX解析 即Simple API for XML,以事件的形式通知程序,对Xml进行解析. 1.首先在Web ...

  4. coreseek 提示 client version is higher than daemon version 解决办法

    安装好coreseek,开启了服务之后,通过 sphinx php扩展去请求数据,提示:client version is higher than daemon version (client is ...

  5. 使用log4net

    原文:<使用log4net,没有日志文件生成> Posted on 2014/06/12 ================================================= ...

  6. css3,background-clip/background-origin的使用场景,通俗讲解

    先不说background-clip/background-origin的用法,我们先来聊聊css背景方面的知识. <!DOCTYPE html> <html lang=" ...

  7. codeforces C. Diverse Permutation(构造)

    题意:1...n 的全排列中 p1, p2, p3....pn中,找到至少有k个 |p1-p2| , |p2-p3|, ...|pn-1 - pn| 互不相同的元素! 思路: 保证相邻的两个数的差值的 ...

  8. left join on

    问题: select * from A left join  f on e.cust=f.account_id where f.status='0' 与 select * from A left jo ...

  9. Pop - Facebook 开源 iOS & OS X 动画库

    Pop 是一个可扩展的 iOS & OS X 动画引擎.除了基本的静态动画,它支持弹簧和动态衰减的动画,因此可以用于构建现实的,基于物理的交互效果. 它的 API 可以与现有的 Objecti ...

  10. 关于Form.Close跟Form.Dispose

    我们在Winform开发的时候,使用From.Show来显示窗口,使用Form.Close来关闭窗口.熟悉Winform开发的想必对这些非常熟悉.但是Form类型实现了IDisposable接口,那我 ...