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 は、そのオブジェクトが意図したネットワークリクエストを実行する前に発生します。