OSM: Referer-Header gegen 406 — overpass-api.de sofort wieder nutzbar

406 von overpass-api.de wird durch fehlenden Referer-Header ausgelöst,
nicht durch einen zeitbasierten IP-Ban. Mit Referer: https://banyaro.app/
antwortet der Server sofort mit 200. OVERPASS_HEADERS enthält jetzt
User-Agent + Referer.
This commit is contained in:
rene 2026-04-25 22:40:47 +02:00
parent 190db6ac51
commit 6f320c1225

View file

@ -29,6 +29,10 @@ _overpass_sem = asyncio.Semaphore(1)
_overpass_last_req = 0.0
_OVERPASS_MIN_DELAY = 2.0 # Sekunden zwischen Anfragen
_OVERPASS_UA = 'BanYaro/1.0 (https://banyaro.app; dog-walking PWA; contact: mail@motocamp.de)'
_OVERPASS_HEADERS = {
'User-Agent': _OVERPASS_UA,
'Referer': 'https://banyaro.app/', # von overpass-api.de verlangt gegen 406
}
# Referenzen auf laufende Hintergrund-Tasks — verhindert GC vor Abschluss
_bg_tasks: set = set()
@ -86,7 +90,7 @@ async def _fetch_overpass(query):
await asyncio.sleep(wait)
async with httpx.AsyncClient(
timeout=40,
headers={'User-Agent': _OVERPASS_UA},
headers=_OVERPASS_HEADERS,
) as client:
r = await client.post(url, data={'data': query})
_overpass_last_req = time.monotonic()