在OSMDroid中更改用户代理

时间:2014-01-19 14:09:08

标签: android android-mapview osmdroid

是否可以更改我在OSMDroid中发送每个磁贴请求的User Agent

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

3 个答案:

答案 0 :(得分:2)

请按照Issue 515跟踪此问题。我们已经实施了修复程序,我们很快就会发布适当的更新。我们将提供一个工厂界面来自定义用户代理。

答案 1 :(得分:1)

看起来指定用户代理的唯一方法是以下列方式修改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磁贴下载问题。

答案 2 :(得分:0)

我遇到了同样的问题,我刚刚下载了以下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项目文件夹中。