JMapViewer - HTTP 429

Mehrere Jahre nutze ich bereits den JMapViewer relativ problemlos in meinen (Hobby-)Anwendungen. Nun, seit einigen Tagen bekomme ich beim Verbinden über HTTPS den Fehlercode 429, über HTTP hat es als Ausweichlösung funktioniert, seit heute gibt es dort einen 403. Interessant ist dabei aber, dass JSOM ja - laut Wiki - dieselbe Klasse nutzt, dort aber ohne Einschränkungen die Karte sichtbar ist.

Hallo,

https://tools.ietf.org/html/rfc6585#section-4
“429 Too Many Requests”

Ich gehe davon aus, dass es hieran liegt: https://operations.osmfoundation.org/policies/tiles/

Aufgrund starker Last auf dem Tile-Dienst der OSMF haben die Sysadmins die Nutzungsbedingungen durchgesetzt und eine Reihe an Nutzern gesperrt, die die Regeln nicht einhalten. JOSM hält die Regeln ein, denn er sendet u.a. einen gültigen User-Agent-Header.

Status-Code 429 heißt klipp und klar, dass du zu viele Tiles abgerufen hast und damit aufhören sollst. Wenn du dann beim Umgehen einen 403 bekommst, sollte das keine Überraschung sein.

Siehe dazu auch https://lists.openstreetmap.org/pipermail/dev/2019-May/030629.html

Ich kenne JMapViewer nicht, aber es könnte das gleiche Problem sein, daß ich neulich mit JxMapViewer2 hatte.

Setzt Du bei der Verwendung in Deiner Applikation einen eigenen UserAgent? Falls nicht dürfte Deine Applikation gesperrt werden - entweder weil sie keinen Agent angibt und das gegen die Regeln verstößt oder weil sie einen Default-Agent sendet, den sie mit allen anderen JMapViewer Nutzern gemein hat und insgesamt zuviel nutzt oder weil der Default-Agent explizit als Downloader gesperrt wurde.

Falls Nein: identifiziere Dich mit einem eindeutigen, eigenen User Agent, dann sollte es wieder funktionieren.

Das kann ich mir aber nicht vorstellen, dass es zu viel ist… Immerhin bin ich der einzige Nutzer der Anwendungen - und nutze die Tiles auch nicht in höherem Maße als wenn ich im Browser die Karte ansehe.

Könnte es auch am Studentenwohnheim liegen mit nur einer öffentlichen IP? Dass da jemand anderes die Sperre ausgelöst hat.

Aber okay, UserAgent setzen könnnte ich mal ausprobieren, auch wenn ich erst rausfinden muss wie das geht^^

Das Problem habe ich schon bei diversen Anwendungen bemerkt. Die meisten Libraries verwenden einen Standard-UA, bei mobilen Apps auch vom System abgefragt. Oftmals besteht auch gar keine Möglichkeit, das Verhalten zu ändern.

Wenn JOSM einen individuellen Agent setzen kann, dann kann Björn das auch. :slight_smile:

Jo konnte er, und funktioniert jetzt. Kann man sein Limit eigentlich irgendwo einsehen?