dont_proxy не очищает поле прокси в Scrapy
Согласуйте собственный флаг обхода с метаданными прокси, которые использует встроенное промежуточное ПО Scrapy.
Запрос может обойти собственное промежуточное ПО прокси и при этом по-прежнему нести активный URL прокси в своих метаданных. Встроенное HttpProxyMiddleware Scrapy читает meta["proxy"]; оно не интерпретирует общий флаг dont_proxy.
Для запроса, который должен идти напрямую, задайте явно:
request.meta["proxy"] = None
Явное None не позволяет встроенному промежуточному ПО выбрать прокси из своих настроек окружения для этого запроса. Простое удаление ключа снова разрешает такой автоматический выбор.
Если другое установленное промежуточное ПО использует dont_proxy, сохраните этот флаг и для его документированной цели. Упорядочьте последовательность так, чтобы последующий компонент не назначил URL прокси снова. Проверьте метаданные после последнего компонента, который может выбрать маршрут.
407 после установки собственного флага обхода согласуется с оставшимся маршрутом через прокси, но сам статус не указывает, какое ПО его выбрало. Проследите действующее поле прокси на протяжении обработки этого запроса, вместо того чтобы предполагать, что все компоненты используют одинаковый словарь отказа.