c# - Request.Url.AbsoluteUri 和 Request.UrlReferrer.AbsoluteUri 有时为空
问题描述
我Request.Url.AbsoluteUri
用来检测请求的 url,但是有些请求没有Url和Url Referrer
这是代码:
db.Visits.Add(new Visit {
Url = Request.Url.AbsoluteUri,
UrlReferrer = Request.UrlReferrer.AbsoluteUri
});
结果 :
- 正常吗?
- 我应该阻止这些请求吗?
- 他们是搜索引擎的爬虫吗?
- 我应该如何表现?
解决方案
首先,检查 Your Request对象。
您有时可能需要从 URL 获取不同的值。
下面的示例显示了提取 URL 不同部分的不同方法
示例:(示例网址)
“ http://localhost:6061/MyWebSite/Default2.aspx?QueryStringValue=1 ”
代码
Response.Write("<br/> " + HttpContext.Current.Request.Url.Host);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Authority);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Port);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsolutePath);
Response.Write("<br/> " + HttpContext.Current.Request.ApplicationPath);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsoluteUri);
Response.Write("<br/> " + HttpContext.Current.Request.Url.PathAndQuery);
下面的输出请检查
localhost
localhost:6061
6061
/MyWebSite/Default2.aspx
/MyWebSite
http://localhost:6061/MyWebSite/Default2.aspx?QueryStringValue=1
/MyWebSite/Default2.aspx?QueryStringValue=1
注意:通常上面的代码在 ASP.NET WEB FROM 中工作,如果你想在 MVC 中你需要更改一些基于路由的值。
推荐阅读
- rest - Destiny2 用户的 Bungie API:通过平台昵称查找 memberId 或 bungie 显示名称
- java - 从网络活动中获取特定文件
- android - Android 深度链接与导航图错误
- reactjs - 我正在尝试制作迪士尼加克隆,但我遇到了一个错误,上面写着
- postgresql - 在春季批处理中获取 HQL 查询中的 UTC 时间
- flutter - 我该如何解决“应该只有一项具有 [DropdownButton] 的值:null。” 颤振中的错误?
- objective-c - 添加跟踪区域时向实例发送无法识别的选择器
- iis - MVC5 控制器 (POST) 被调用两次(每周一次)
- reactjs - npm 在尝试运行它时在 Visual Studio 代码中抛出一些错误
- authentication - 使用 WebView2 cookie 下载 PDF