2014-01-19 108 views
1

是否可以更改User Agent我使用OSMDroid中的每個tile請求發送?在OSMDroid中更改用戶代理

我每次嘗試下載一個圖塊時都會出現403 Forbidden錯誤(as described in another SO question),可能是因爲OSMDroid本身已被禁止。

+1

osmdroid沒有被禁止,只是它默認提供的(錯誤的)用戶代理。設置*有效*用戶代理是[瓦片使用策略](http://wiki.openstreetmap.org/wiki/Tile_usage_policy)所必需的。 – scai

回答

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

請按照Issue 515跟蹤此問題。我們已經實施了一項修復措施,我們將很快發佈適當的更新。我們將提供用於定製用戶代理的工廠界面。