网站如何知道我以前查找的Google查询?

时间:2009-08-28 16:48:16

标签: search-engine

当我在Google上搜索“rearrange table columns in asp.net”之类的内容,然后点击Wrox's forum site链接时,该网站会向我发送一条消息,例如“您的Google搜索'重新排列表格列asp.net'带你到Wrox论坛......“。

网站如何知道我输入Google的查询?我怎么能在我的网站上添加这样的能力呢?

4 个答案:

答案 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来做。