有没有办法(除了虚拟网络)阻止网站检测位置?网站如何根据位置告诉其服务器要加载哪些信息?
更具体地说,我有一个网站,我从该网站获取 JSON 来创建 Excel 文件。最近该网站已将自身设置为特定于位置,因此我生成的 JSON 仅适用于我的位置,并且无法在网站内更改位置。
我想知道我该如何尝试创建所有位置的“主列表”的 JSON。换句话说,以某种方式覆盖它分配给我的默认位置。
答案1
IP 位置检测是如何进行的?
有一些数据库可以将 IP 地址与地理位置进行匹配,还有一些服务可以提供将 IP 与其位置进行匹配的服务。这个 GitHub 项目列出这些服务。
获取 IP 地址的地理位置就像查询一样简单,例如:http://freegeoip.net/xml/8.8.8.8而这正是您所访问的网站最有可能做的事情(数据来自哪里以及其准确性取决于数据库)。
响应是:
<Response>
<IP>8.8.8.8</IP>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>CA</RegionCode>
<RegionName>California</RegionName>
<City>Mountain View</City>
<ZipCode>94035</ZipCode>
<TimeZone>America/Los_Angeles</TimeZone>
<Latitude>37.386</Latitude>
<Longitude>-122.0838</Longitude>
<MetroCode>807</MetroCode>
</Response>
有没有办法(除了虚拟网络之外)阻止网站检测位置?
这个问题可以归结为“有没有办法隐藏我的真实 IP 地址并显示为保存在不同位置的数据库中的 IP 地址?”
是的,正如您已经知道的那样,您主要可以使用 VPN 或其他路由/转发来完成此操作,但无论哪种情况,您都必须(以某种方式)控制终端节点。
您也可以尝试使用 Tor 网络,但是这些节点很容易被为您提供数据的服务器阻止(并且提供地理位置的服务可能会指示该请求是针对作为 Tor 出口节点的 IP)。
网站如何告诉其服务器根据位置加载什么信息?
获得了请求数据的 IP 地址的位置后,只需进行一个简单的查询,例如考虑CountryCode
、RegionCode
,并City
从上述结果中得出。
答案2
没有检测 IP 地址位置
无法通过某种方式从随机 IP 地址生成主机位置。整个“检测”过程只是对 IP 地址范围的数据库查询。
每个注册的 IP 地址范围都有附加信息。
- 你的 ISP 在更大的网络中注册了一个 IP 范围(比如说,成熟)
- ISP 在相应的数据库中指定范围的公共信息(包括位置)
- 当你连接到互联网时,ISP 会向你出租一个 IP 地址
- 网站(或您连接的任何主机)可以查询数据库,以查找有关范围的公开信息
该信息包含位置信息。通常它是您的 ISP 所在的城市,而不是确切的地点。
欺骗网站获取您所在位置的最佳方法是使用不同的公共 IP 地址。有些服务(包括免费服务,例如 friGate Chrome 扩展程序)提供某种代理/VPN 访问。