如何获取上一页网址?
senario,用户可能来自google,yahoo,bing 怎么知道他们来自哪里?
我尝试使用Request.UrlReferrer
但它返回一个空值。
感谢您的建议。
我正在使用ASP.NET webform,C#。
更新
我有一个网站正在运行
我只是想知道当用户访问我的网站时他们来自哪里。
答案 0 :(得分:9)
您所描述的是Referer
HTTP标头(最初是我们现在坚持使用的“推荐人”的拼写错误)。浏览器使用导致用户导航到新页面的任何网页的URI填充此字段(例如,通过点击<a>
超链接,<form
&gt;提交,Flash对象中的操作,等等)。并非每个用户操作都会导致设置标头,例如,如果地址直接输入地址栏,或者在桌面电子邮件中打开了链接。
在ASP.NET下,Request.UrlReferrer
属性可以访问此标头。但是,如果HTTP标头值不是URI,或者客户端UA未设置该字段,则此属性将为null。
您必须永远不要依赖此机制,因为它是由客户端设置的,您绝不能信任客户端(http://en.wikipedia.org/wiki/Defensive_programming)。如上所述,并非所有访问者都会设置Referer标题。