Я разрабатываю пользовательский MapView для коммерческого программного обеспечения в JavaFX.
Поскольку всего одна неделя, все мои запросы не были выполнены с ошибкой кода 403 (пример):
"Сервер вернул код ответа HTTP: 403 для URL: http://tile.openstreetmap.org/9/245/206.png"
Но запрос успеха с браузером, как Mozilla.
Я не изменил какой-либо код или конфигурацию, только OSM занесен в черный список.
Тем не менее, я думаю, что я следую правилам политики osm, таким как только 2 соединения в одно и то же время, система кэш-памяти, а не загрузка огромной области с большим увеличением.
Как можно легально получить доступ к плиткам OSM в распределенном программном обеспечении для коммерческого использования?
Usurpt Mozilla User-Agent может быть незамедлительным решением во время разработки, но после?
private void loadImage(Tile tile) {
String url = tile.getRetriever().computeURL(tile);
if(!waiters.contains(url)) {
waiters.add(url);
threadPool.execute(new ComparableRunnable(url,()->{
try {
if(!exist(tile)) {
Semaphore semaphore = new Semaphore(1);
semaphore.acquire();
Image image = new Image(url, true);
image.errorProperty().addListener((obs,old,val)->{
if(image.isError()) {
Outil.loggerConsole(image.getException());
semaphore.release();
}
});
} catch (InterruptedException e) {
Outil.loggerConsole(e);
}
}));
"Сервер вернул код ответа HTTP: 403 для URL: http://tile.openstreetmap.org/9/245/206.png"