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 у канструктары ўзнікае раней, чым гэты аб'ект выканаў патрэбны сеткавы запыт.