获取上一页网址

时间:2013-01-21 03:10:30

标签: c# asp.net

如何获取上一页网址?

senario,用户可能来自google,yahoo,bing 怎么知道他们来自哪里?

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

感谢您的建议。

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

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

1 个答案:

答案 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标题。

相关问题