问题
在 Chrome 浏览器中使用 Google 搜索的时候,Google 会尝试获取我们的位置信息,给出更精准的搜索结果。但有时候,Google 给出的位置信息并不符合使用者的情况,特别是在使用位置相关的服务的时候更是糟糕,例如:Google Map,搜索位置时给出的结果并不准确,这该咋办?
分析
造成这个问题的原因有很多,总结起来有:对外 IP 的变动(公网 IP )、地理位置的变动、Google 账号的变动、客户端的变动等。
Google 获取位置的优先级从大到小依次为:活动记录推测的位置(Cookie/Google账号活动信息)>=来自设备提供的位置>对外IP推测的位置
尝试解决
以下方式从上至下依次尝试,一旦成功即可不必继续往下进行。这里的样例是需要正确显示美国
位置,依照 IP 所在的位置来。
方式一
目前我的 IP 显示在美国(归属地最好也一样查下,我这里都是显示的美国),但浏览器没有识别正确。原因应该是我这边的这段 IP 在宣告时用的是所属为中国香港
的ASN
吧,所以 Google 推测我这个 IP 应该用在中国。
有条件的建议使用原生IP,没条件的直接开个美国代理即可。
方式二
有些操作系统是带有GPS
定位功能的,Windows 的话可以直接关闭定位功能或者是拒绝给某个你想要用的应用提供位置服务(这里是 Chrome )。
如果是 Windows Server 的话直接设置你想要的区域就行了。
安卓手机的话一般有单独打开或关闭GPS的按钮位置,又或者所有手机统一直接拒绝位置授权给浏览器,使得浏览器只能通过其他方式(例如:你的 IP 位置)来获取位置信息,这样就达到了我们的目的。
方式三
如果浏览器有登录 Google 账号的话,可以先退出来或者是清除一下相关应用活动记录(我这里圈了三个,点进去清除历史记录就行了);还有就是将位置记录关闭,有记录的话也清一下。
方式四
清除 Chrome 浏览器的所有浏览数据(特别是Cookie
,它能记录位置信息,能够保存6小时)
然后在 Google 搜索栏的右上角点击设置>查看所有设置
,拉到最下面的区域设置
,选择你要显示的位置后点击保存
。嫌麻烦的直接在搜索栏上输入https://www.google.com/preferences?hl=zh-CN 即可进入设置界面。
未知位置
在有些情况下,Google 无法根据 IP 地址推测位置。在此类情况下,系统会将相应活动列为是在“未知位置”进行的。对于任何活动,您都可以通过查看其他详细信息,例如活动时间和使用的浏览器,确认是否确实是您本人所为。如果它们与您记忆中的时间或浏览器不相符,您应执行安全检查,以帮助保护您的帐号。
到了这一步,你的位置一般会通过 IP 地址正确获取到美国的位置,但我这里的位置显示为未知
🙃。顺便说下,下图中的是否允许网站请求您的位置信息
这一块,我这边是选择允许的,只要位置获取正确,允许也是没关系的。
因为我这里没显示,所以我需要额外做些操作。尝试在 Google 搜索栏中搜索下美国的任意一个地名(输入英文
);或使用 Google Map 搜索下 USA 之类的,之后就会产生活动记录了,推测你当前的位置在美国。(咋感觉有点鸡肋呀😳)
方式五
实在没辙了,就只能尝试下给 Google 报告 IP 问题,把我们 IP 的正确位置反馈给他们。
方式六
这是一种折中妥协的办法,直接使用 NCR (No Country Redirect)。
VPN与代理
还遇到一种情况,就是你当前是通过 L2TP 等 VPN 协议获取到的美国 IP 地址,也有可能出现位置信息显示不正常的情况,但是通过其它一些代理却不会,有点奇怪。
目前的推测:
- 前者 VPN 使用的情况是,比如:111.112.113.0/24 这个段。其中一个使用者用了其中一个地址,然后暴露了客户端的地理位置信息;而另一个使用者用了其中的另一个地址,虽然没暴露位置,但 Google 根据同段 IP 的使用者推测出了位置信息(又或者这两个人使用的是同一个地址,通过 NAT 对外访问的,那就更容易推测了)。同段越多人暴露位置,就越容易推测。而且就我所遇到的情况来看,这些被 Google 推测得出的位置与实际 IP 显示的位置不符的情况,也基本都发生在非原生的 IP 段。
- 后者通过代理使用的 IP ,通常都是个人使用,同段的也一般作为代理池 IP 替换用途,大多未启用,所以被别人影响的可能性更小,并且这些代理 IP 也基本都是原生IP。这些代理协议通常都是使用了混淆伪装和多重加密的方式,溯源会没那么容易,所以更隐蔽些。
评论区