QGIS использует прокси, а плагин на Requests — нет
Разберите различие между сетевой конфигурацией QGIS и независимым клиентом Python Requests в плагине.
Слой карты загружается через офисный прокси, а вызов API плагина завершается ошибкой. Оба действия выполняются внутри QGIS, но могут использовать разные HTTP-клиенты.
Для сетевых операций QGIS предоставляет QgsNetworkAccessManager. Он передаёт сетевую конфигурацию QGIS в запросы, выполняемые через этот менеджер. Плагин на Python, импортирующий Requests, создаёт другой клиент с собственным поведением прокси и аутентификации.
Выберите конфигурацию, которой хотите поделиться
Для плагина, который должен следовать сетевым предпочтениям пользователя в QGIS, использование сетевого менеджера QGIS избавляет от независимого воссоздания этих предпочтений. Проверьте API, подходящий для поддерживаемой вами версии QGIS, включая его асинхронное поведение и интеграцию с аутентификацией.
Если Requests нужен по другой причине, настройте его осознанно. Его словарь прокси и обработка переменных окружения следуют документации Requests. Прокси, выбранный в настройках QGIS, не становится автоматически настройкой сессии Requests.
Будьте точны в отношении области действия, пробуя примеры Qt с форума. Установка прокси приложения Qt влияет на сеть Qt. Это не доказывает, что Requests, использующий другую сетевую реализацию, изменил свой маршрут.
Сравните один и тот же пункт назначения
При сравнении поведения используйте URL сбойного плагина. Картографический сервис и несвязанный API могут иметь разные правила обхода, разрешения прокси или цепочки сертификатов. Успешный запрос карты доказывает только то, что работает его собственный маршрут.
Зафиксируйте имя HTTP-клиента, хост назначения, запрашивалась ли аутентификация прокси и фактический этап ошибки. Исключите пароли из журналов плагина. Это небольшое сравнение обычно подсказывает, что исправлять — сетевую интеграцию QGIS или независимый клиент Python, — не сбрасывая настройки прокси, которые уже работают у пользователя.