当我在Google上搜索“rearrange table columns in asp.net
”之类的内容,然后点击Wrox's forum site链接时,该网站会向我发送一条消息,例如“您的Google搜索'重新排列表格列asp.net'带你到Wrox论坛......“。
网站如何知道我输入Google的查询?我怎么能在我的网站上添加这样的能力呢?
答案 0 :(得分:12)
它是根据HTTP_REFERER
服务器变量中的查询参数解析您的查询,该变量包含您来自的HTTP,并在您的HTTP请求中提供。
答案 1 :(得分:8)
它使用称为“HTTP引用者”的头。见http://en.wikipedia.org/wiki/HTTP_referrer
要在您的站点中使用它,您需要某种动态页面生成,例如ASP / ASP.NET,PHP或Perl。例如在Perl中,您可以执行以下操作:
if ($ENV{HTTP_REFERER} =~ /google.com\?.+&q=(.+?)&/)
print "Your google search of $1 brought you to this site";
警告:以上代码只是一个示例,可能不正确或不安全!
答案 2 :(得分:2)
就像这些人建议的那样,它是HTTP_REFERER
标头变量。查询位于URL中的“q”键中。因此,如果你想解析它,你可以整理查询字符串并解码“q”变量的URL。
答案 3 :(得分:1)
它查看引用者标题。这里有一些fairly basic PHP code来做。