【问题标题】:Changing User Agent in OSMDroid在 OSMDroid 中更改用户代理
【发布时间】:2014-01-19 14:09:08
【问题描述】:

是否可以更改 User Agent 我在 OSMDroid 中的每个图块请求中发送?

我目前在尝试下载磁贴 (as described in another SO question) 时收到 403 Forbidden 错误,可能是因为 OSMDroid 本身已被禁止。

【问题讨论】:

  • osmdroid 并没有被禁止,只是它默认提供的(错误的)用户代理。 tile usage policy 需要设置 有效 用户代理。

标签: android android-mapview osmdroid


【解决方案1】:

请关注Issue 515 跟踪此问题。我们已经实施了修复,我们将很快发布适当的更新。我们将提供一个工厂接口来定制用户代理。

【讨论】:

    【解决方案2】:

    看起来指定用户代理的唯一方法是通过以下方式修改 OSMDroid 的 MapTileDownloader.loadTile() 方法:

    final HttpClient client = new DefaultHttpClient();
    final HttpUriRequest head = new HttpGet(tileURLString);
    head.setHeader("User-Agent", "OSMDroid"); // Add this line
    final HttpResponse response = client.execute(head);
    

    解决了403 Forbidden磁贴下载问题。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,我刚刚下载了以下jar文件

      https://oss.sonatype.org/content/groups/public/org/osmdroid/osmdroid-android/4.1/osmdroid-android-4.1.jar

      这是 osmdroid-android-4.1.jar ,把它放在你的 /Libs 项目文件夹中。

      【讨论】:

        猜你喜欢
        • 2017-08-26
        • 1970-01-01
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多