Использование прокси¶
В Nalogovich предусмотрена встроенная поддержка использования прокси для всех сетевых запросов к API ФНС.
Как передать прокси¶
Чтобы использовать прокси, просто передайте параметр proxy при инициализации NpdClient:
from nalogovich.lknpd import NpdClient
import asyncio
async def main():
# Настраиваем клиент с использованием прокси
async with NpdClient(
inn="123456789012",
password="your_password",
proxy="http://10.10.1.10:3128" # Укажите адрес вашего прокси
) as client:
# Запрос авторизации пройдет через указанный прокси
await client.auth()
print("Авторизация прошла успешно!")
# Все последующие запросы (например, получение чеков)
# также будут использовать этот прокси
checks = await client.get_checks()
print(f"Получено чеков: {len(checks.items)}")
if __name__ == "__main__":
asyncio.run(main())
Поддерживаемые форматы¶
Для работы с сетью под капотом используется библиотека aiohttp, поэтому поддерживаются стандартные HTTP и HTTPS прокси (включая прокси с авторизацией по логину и паролю).
Вот возможные форматы строк:
-
Обычный HTTP-прокси:
-
HTTP-прокси с авторизацией:
-
HTTPS-прокси:
-
HTTPS-прокси с авторизацией:
Внимание: SOCKS-прокси
Из коробки aiohttp (и следовательно, Nalogovich) не поддерживает socks4/socks5 прокси в параметре proxy строкой. Если вам необходим SOCKS-прокси, потребуется использовать сторонние решения, такие как установка библиотеки aiohttp-socks и кастомная настройка сессии aiohttp.ClientSession.