add user-agent header and ip fallback
This commit is contained in:
+4
-1
@@ -160,12 +160,15 @@ router = APIRouter(prefix='/api/v1', tags=['ip'])
|
|||||||
@router.get('/ip')
|
@router.get('/ip')
|
||||||
async def get_ip(request: Request):
|
async def get_ip(request: Request):
|
||||||
forwarded = request.headers.get('X-Forwarded-For')
|
forwarded = request.headers.get('X-Forwarded-For')
|
||||||
|
user_agent = request.headers.get('User-Agent')
|
||||||
|
|
||||||
if forwarded:
|
if forwarded:
|
||||||
# Берем ПЕРВЫЙ IP из списка (это реальный клиент)
|
# Берем ПЕРВЫЙ IP из списка (это реальный клиент)
|
||||||
client_ip = forwarded.split(',')[0].strip()
|
client_ip = forwarded.split(',')[0].strip()
|
||||||
|
else:
|
||||||
|
client_ip = request.client.host
|
||||||
|
|
||||||
async with AsyncClient() as client:
|
async with AsyncClient(headers={'User-Agent': user_agent}) as client:
|
||||||
response = await client.get(f'https://ipinfo.io/{client_ip}')
|
response = await client.get(f'https://ipinfo.io/{client_ip}')
|
||||||
|
|
||||||
html = response.text
|
html = response.text
|
||||||
|
|||||||
Reference in New Issue
Block a user