·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ASP.NET获取请求的url信息汇总

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

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

asp.net获取请求的url信息汇总

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