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_last_req = 0.0
|
||||||
_OVERPASS_MIN_DELAY = 2.0 # Sekunden zwischen Anfragen
|
_OVERPASS_MIN_DELAY = 2.0 # Sekunden zwischen Anfragen
|
||||||
_OVERPASS_UA = 'BanYaro/1.0 (https://banyaro.app; dog-walking PWA; contact: mail@motocamp.de)'
|
_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
|
# Referenzen auf laufende Hintergrund-Tasks — verhindert GC vor Abschluss
|
||||||
_bg_tasks: set = set()
|
_bg_tasks: set = set()
|
||||||
|
|
@ -86,7 +90,7 @@ async def _fetch_overpass(query):
|
||||||
await asyncio.sleep(wait)
|
await asyncio.sleep(wait)
|
||||||
async with httpx.AsyncClient(
|
async with httpx.AsyncClient(
|
||||||
timeout=40,
|
timeout=40,
|
||||||
headers={'User-Agent': _OVERPASS_UA},
|
headers=_OVERPASS_HEADERS,
|
||||||
) as client:
|
) as client:
|
||||||
r = await client.post(url, data={'data': query})
|
r = await client.post(url, data={'data': query})
|
||||||
_overpass_last_req = time.monotonic()
|
_overpass_last_req = time.monotonic()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue