c# - 获取上一页网址

标签 c# asp.net

如何获取上一页的url?

senario,用户可能来自 google、yahoo、bing。
如何知道它们来自哪里?

我尝试使用 Request.UrlReferrer
但它返回一个空值。

感谢您的建议。

我正在使用 ASP.NET webform,C#。

更新
我有一个正在运行的网站。
我只想知道当用户访问我的网站时,他们来自哪里。

最佳答案

您描述的是 Referer HTTP header (最初是我们现在坚持使用的“Referrer”的拼写错误)。浏览器使用导致用户导航到新页面的任何网页的 URI 填充此字段(例如通过单击 <a> 超链接、<form > 提交、Flash 对象中的操作等)。并非每个用户操作都会导致设置 header ,例如直接在地址栏中键入地址,或者在桌面电子邮件中打开链接。

在 ASP.NET 下,此 header 可通过 Request.UrlReferrer 访问属性(property)。但是,如果 HTTP header 值不是 URI 或者如果该字段未由客户端 UA 设置,则此属性将为空。

您绝不能依赖此机制,因为它是由客户端设置的,您绝不能信任客户端 (http://en.wikipedia.org/wiki/Defensive_programming)。如前所述,并非所有访问者都会设置 Referer header 。

关于c# - 获取上一页网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431986/

相关文章:

c# - 使用 Twitter API 1.1 oAuth 验证和请求用户的时间线

c# - 如何转换日期时间?到日期时间

c# - 无法使用 Fakes 程序集构建项目

c# - 使用 memorystream 创建文件并保存到它

c# - 在 FileStream 弹出响应后删除临时文件

c# - 允许使用相同 key 的通用集合

c# - Type.GetType(string) 使用 "Generic<T>"语法?

c# - 如何使用反射返回从泛型子类化的所有类,而不给出特定的泛型类型

c# - 使用自定义模板字段进行 Gridview 排序

c# - Asmx Web 服务有时不会响应