从 https Google 搜索获取 Google 搜索词

n1c*_*ck3 5 c# asp.net search

我想获取用户在 Google 上输入的搜索词以访问我的长尾着陆页(并在该页面上使用它们)。

使用响应引用者(在 ASP C# 中)从查询字符串获取“q”变量效果很好,但前提是引用的 Google 页面未作为https加载。

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

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

有什么方法可以获取 https://www.google.com 上使用的原始搜索词?也许 JavaScript 可以访问浏览器历史记录或类似的东西?

Kar*_*rma 1

由于是 Google,因此不可能,因为没有与您的网站共享链接。

一旦您使用 HTTPS - 它就不允许发送REFERRER 标头。我相信您知道标头可以被操纵并且不能被信任,但是您可以信任 Google。但是,根据隐私政策,Google 用户在 Google 上进行的任何活动都不会被第三方共享。关联

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

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

希望有帮助!(继续):)

编辑:维基百科链接参见推荐人隐藏(最后第二行)