逆向工程 Google“撰写评论”链接 URL

Jef*_*eff 5 algorithm hex google-maps

在Google本地列表中,有一个URL可以将人们直接带到显示商家评论的弹出窗口。这是一个例子:

https://www.google.com/search?q=Massage+Envy+-+Arrowhead&ludocid=12682026813239828050#lrd=0x872b682580f9e59b:0xafff9c31c3239e52,1

每个营业地点在 URL 中都有一个数字 ID(在示例中为 12682026813239828050),并在参数中包含该数字的十六进制表示形式#lrd

我拥有所有数字 ID,并且需要通过确定十六进制段的形成方式来生成这些 URL。对于 ID 可以用 16 个十六进制字符表示的位置,这很容易。URL 段只是 0x0:0x[hexstring],例如:

4134566830992571874 => 0x0:0x3960eea07d6cbe00
Run Code Online (Sandbox Code Playgroud)

但是当数字太长时,它会被分成两个十六进制字符串,并且我无法确定第一个字符串的来源。我举了两个例子:

14384749138104818286 => 0x872b0445e4ee5e9b:0xc7a0e5209fd81a6e
15716027411522919173 => 0x872b00074aa36265:0xda1a8ba9e8201b05
Run Code Online (Sandbox Code Playgroud)

第二个十六进制字符串转换为 CLOSE 数字。在示例中:

c7a0e5209fd81a6e => 14384749138104818 (missing the last 3 digits)
da1a8ba9e8201b05 => 15716027411522918 (missing the last 3 digits and off by 1000)
Run Code Online (Sandbox Code Playgroud)

这是一个成功转换它们的网站:https://pleper.com/index.php? do=tools&sdo=google_review_link&url=4134566830992571874

谁能帮我确定这些生成的方法?如果有另一个堆栈站点更适合于此,请也指导我那里。谢谢你!

Jef*_*eff 1

我最终使用“将长整数转换为十六进制”函数让它工作: How to conversion a large integer to hex in php?

事实证明,如果您使用0x0:0x[result of that function]而不是使用 Google 生成的由两部分组成的 URL,该 URL 也可以工作。肯定还有另一个 URL 可以工作,但我同时有这个工作。谢谢。

  • 将 0x0:0x[该函数的结果] 添加到 URL 不再适用于 Google 搜索上的新评论模式。这将允许您打开显示所有评论的模式,用户可以单击顶部的“撰写评论”,但不会直接打开评论模式。以下是当前 lrd 的示例: lrd=0x6b12ae37b47f5b37:0x8eaddfcd1b32ca52,3,5 [google sydney comments](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8# q=google%20syndey&*&lrd=0x6b12ae37b47f5b37:0x8eaddfcd1b32ca52,3,) (2认同)