Python Requests: proxies는 request()에 넘기고 Request에는 넘기지 마세요
프록시 설정은 요청을 보내는 API에 두고, HTTP 메시지를 기술하는 Request 객체의 생성자에는 두지 마세요.
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는 그 객체가 의도한 네트워크 요청을 수행하기 전에 발생합니다.