Якщо прямий запит досягає перенаправлення, а наступний обмін не вдається на proxy, дослідіть перехід. Requests заново будує налаштування, пов'язані з proxy, для перенаправлень і може знову звернутися до середовища, коли Session йому довіряє.

Значення зіставленняЩо відбувається під час об'єднання
NoneКлюч видаляється, і залишається відсутній запис, який подальший прохід може заповнити із середовища.
Порожній рядокЯвне значення зберігається; воно може зберегти намір прямого маршруту для цієї схеми.

Для наявної Session вкажіть схеми призначення, задіяні в прямій операції:

response = session.get(
    'https://example.com/start',
    proxies={'http': '', 'https': ''},
    timeout=15,
)

Перевірте додаткові зіставлення для конкретних хостів і власні адаптери, якщо застосунок їх надає. Цей вхід маршрутизації не перекриває всі можливі політики, які реалізують ці компоненти.

Зберігайте кожен URL у діагностиці

Записуйте початковий URL, кожне місце перенаправлення, стан відповіді та етап, що зазнає збою. Перехід з HTTP на HTTPS змінює відповідний ключ схеми; новий хост може опинитися поза правилом обходу першого хоста. Звіт, що містить лише початковий URL, приховує обидва переходи.

Спостереження однієї відповіді з вимкненим стеженням за перенаправленнями може виявити межу. Дослідіть її розташування як дані, перш ніж вирішити його запитати; не надсилайте початкові облікові дані на нове призначення без розбору.

Окрема Session з вимкненим виявленням середовища — ще один варіант, коли застосунок навмисно володіє всіма входами маршрутизації та довіри. Це також впливає на автоматичне виявлення облікових даних і CA, тому обирайте це як політику застосунку, а не як рутинний ремонт перенаправлення.

Схожі статті