Python Requests: передавайте proxies у request(), а не в Request
Розміщуйте налаштування проксі в API, який надсилає запит, а не в конструкторі об'єкта Request, що описує повідомлення HTTP.
Requests надає клас Request і функцію request, написану малими літерами. Зміна регістру може викликати коректний API з неправильним списком аргументів замість простої помилки про невідому функцію.
Об'єкт Request описує повідомлення HTTP. Налаштування проксі належить API, який його надсилає. Для звичайного виклику:
response = requests.request(
'GET', 'https://example.com/',
proxies=routes, timeout=15
)Тут routes — це зіставлення проксі, вибране для цієї операції. Для дозволених публічних запитів список безкоштовних проксі пропонує кандидатів, яких можна відформатувати протоколом, що його підтримує ця інсталяція Requests. Передавання того самого ключового слова proxies у конструктор requests.Request не є еквівалентним.
Якщо застосунок навмисно використовує підготовлені запити, тримайте підготовку повідомлення й налаштування надсилання окремо. Потокові надсилання сеансу також потрібні передбачене об'єднання середовища, тайм-аут, перевірка та налаштування проксі.
Виправте невідповідність API до заміни кінцевих точок проксі. TypeError у конструкторі виникає раніше, ніж цей об'єкт виконав передбачений мережевий запит.