【问题标题】:How to fake a location for a Google search?如何伪造 Google 搜索的位置?
【发布时间】:2016-02-11 07:16:46
【问题描述】:

所以我正在尝试编写一个脚本,从多个不同的位置和设备查询网站并记录结果,我使用 google 作为基准。

From what I have read Google 似乎使用附近的 WiFi 网络来确定您的位置。但是我不在无线上,所以它似乎只是根据你的 ip 猜测。如果是这种情况,是否可以在不使用某种代理的情况下做到这一点?

现在我到目前为止是用 php 编写的,并使用 curl 来设置相关选项。我正在使用 curl 将用户代理更改为伪造不同的设备。是否也可以使用 curl 来更改位置数据?

如果 curl 不是最好的方法,那么我愿意更改为不同的方法,但任何替代方法都需要一种方法来设置用户代理和位置。

我从this post 看到,您可以通过Geolocation API 覆盖您在Chrome 中的当前位置。但是,我担心这只会在本地更改位置(即在您做出响应之后),因此会破坏目的。另外,我不确定这段代码需要写在哪里。它会在浏览器本身的javascript中吗?所以对外部脚本没用?

任何想法表示赞赏!

【问题讨论】:

    标签: javascript php google-chrome curl geolocation


    【解决方案1】:

    您可以在搜索查询设置中指定位置。

    或者使用带有 curl 的 NCR 链接,比如 http://www.google.com/ncr

    这也适用于其他国家/地区,例如,我可以通过以下方式访问德国 Google:

    http://www.google.de/ncr

    【讨论】:

    • 我需要足够精确,才能从一个城市进行搜索,而不仅仅是一个国家。这可以通过ncr吗?另外,搜索查询的设置是什么意思?
    【解决方案2】:

    你可以尝试这些方法

    curl_setopt( $curl, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip_to_show", "HTTP_X_FORWARDED_FOR: $ip_to_show"));
    

    这可能会或可能不会起作用,具体取决于您试图愚弄的人(您不会更改您的实际 ip,而是您的 http 请求标头,如果他们听您设置的话)

    【讨论】:

      【解决方案3】:

      您可以使用设备仿真

      【讨论】:

      • 我确实尝试过,但谷歌比这更聪明。当你在谷歌搜索上这样做时,它似乎仍然认为我在伦敦编辑:我应该更具体。这适用于谷歌地图,但进行谷歌搜索会为伦敦服务提供广告(我在隐身会话中将我的坐标设置为埃菲尔铁塔进行了测试)。
      猜你喜欢
      • 2016-11-12
      • 2016-12-12
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多