【问题标题】:Filter visits to a site generated by "Top Sites" feature of some browsers过滤由某些浏览器的“热门网站”功能生成的网站访问
【发布时间】:2010-12-15 07:23:06
【问题描述】:
在this answer to a Meta question 中,Jeff 表示他已经解决了由 Safari 中的“热门网站”功能创建的访问被计入狂热者和爱好者徽章的问题。
我的问题是:如何做到这一点? 我如何以编程方式区分“热门网站”访问和常规访问?
我正在寻找一个通用的解决方案,尽管我想在 C# 中为 ASP.NET MVC 站点实现区分这些访问类型的代码。
注意:我不太确定如何标记这个问题。如果您有任何想法,请重新标记!
【问题讨论】:
标签:
c#
asp.net-mvc
filter
filtering
【解决方案1】:
我刚刚查看了 safari 在请求中发出的标头,您可以看到 x- purpose: preview 值。检查此标头以避免访问时误报:
GET http://www.yahoo.com/ HTTP/1.1
Host: www.yahoo.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0 Safari/533.16
X-Purpose: preview
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-US
Accept-Encoding: gzip, deflate
Connection: keep-alive
Connection: keep-alive
希望这会有所帮助!
【解决方案2】:
在我的脑海中,难道只有当您在一天内至少请求一个不同的页面时,这个“狂热徽章计数器”才算数吗?