【发布时间】:2010-10-21 03:21:47
【问题描述】:
我试图找到最有效的方法来解析我的 System.Web.HTTPRequest.UrlReferrer 以查找用于将访问者带到我的网站的搜索词,假设他们是通过搜索引擎结果页面到达我的网站的。
我在想(希望)我会使用 HttpUtility.ParseQueryString 方法,但我的问题在于试图找出要解析的变量。我需要检查以下列表。该列表显示了搜索引擎和每个使用的参数。
daum:q,
eniro:search_word,
naver:query,
images.google:q,
google:q,
yahoo:p,
msn:q,
bing:q,
aol:query,
aol:encquery,
lycos:query,
ask:q,
altavista:q,
netscape:query,
cnn:query,
about:terms,
mamma:query,
alltheweb:q,
voila:rdata,
virgilio:qs,
live:q,
baidu:wd,
alice:qs,
yandex:text,
najdi:q,
aol:q,
mama:query,
seznam:q,
search:q,
wp:szukaj,
onet:qt,
szukacz:q,
yam:k,
pchome:q,
kvasir:q,
sesam:q,
ozu:q,
terra:query,
mynet:q,
ekolay:q,
rambler:words
所以虽然我可以遍历每个并说类似
NameValueCollection query = HttpUtility.ParseQueryString(UrlReferrer);
var referrer = Request.UrlReferrer.ToString();
if(referrer.Contains("google.com")
return (query["q"]);
else if(referrer.Contains("yahoo.com")
return (query["p"]);
我认为必须有更好的方法,因为我有这个不错的名称/值对可以使用,并且 ParseQueryString 方法的强大功能,但我正在画一个空白。
【问题讨论】:
标签: asp.net httprequest