通过https Google搜索获取Google搜索字词

时间:2012-08-24 08:34:23

标签: c# asp.net search

我想让用户在Google上输入的搜索字词进入我的长尾登陆页面(并在该页面上使用它们)。

使用响应引荐来源(在ASP C#中)从查询字符串中获取“q”变量效果很好但仅当引用的Google页面加载为https时才有效。

这显然是一个问题,因为几乎每个人都在他们的浏览器上一直登录他们的Google帐户,如果是,所有Google页面都会自动加载(并重定向)以使用https。< / p>

当用户(在 https ://www.google.com上)搜索某些内容并点击搜索结果时,Google似乎会将用户重定向到中间页面,该页面会删除它的查询字符串并将其替换为另一个,它几乎只包含中间页面应该重定向到的URL(即我的长尾登陆页面的URL)。

我是否有办法获得 https ://www.google.com上使用的原始搜索字词?也许如果JavaScript可以访问浏览器历史记录或类似的东西?

3 个答案:

答案 0 :(得分:3)

  

我是否有办法获得 https ://www.google.com

上使用的原始搜索字词

不,https会话的全文通过SSL保护,包括标题,网址等。在您的方案中,出于安全考虑,浏览器会忽略referer标题,因此您不会能够访问它(除非目标URL也通过HTTPS保护)。这是HTTP规范的一部分 - 15.1.3 Encoding Sensitive Information in URI's

您唯一可以做的就是在您的网站上放置免责声明,说它不适用于https。

答案 1 :(得分:1)

由于它是Google,因此无法与您的网站共享链接。

使用HTTPS后,不允许发送REFERRER标头。我相信你知道标题可以被操纵而且不可信任,但是你可能信任Google。但是,由于隐私政策,Google用户在Google上执行的任何活动都不会被第三方共享。 Link

同样,在服务器端语言中,您可以找到HTTP Referrer的功能,但不能找到HTTPS referrer。这是有原因的!

除非您没有与可能在其RFC 事物中创建例外的原始服务器进行协作,以便仅允许您的网站使用HTTP REFERRER。这是不可能的。

希望有所帮助! (继续前进):)

编辑:Wikipedia Link参见推荐人隐藏(最后一行)

答案 2 :(得分:1)

要查看引荐来源数据,您需要成为付费Google广告客户(访问者通过广告点击进行访问)或将您的网站设置为HTTPS。 Certs现在很便宜,或者您可以使用像CloudFlare这样的中介来执行SSL并在您的网站上拥有自签名证书。

使用Google网站管理员工具,无论使用何种方法,您都可以查看查询。

我在这里写了一点:http://blogs.dixcart.com/public/technology/2012/03/say-goodbye-to-keyword-tracking.html