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:
parent
190db6ac51
commit
6f320c1225
1 changed files with 5 additions and 1 deletions
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue