Я пытаюсь найти наиболее эффективный способ анализа моего 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, но я рисую пустое место.