如何获取上一页的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/