Requests の HTTPDigestAuth は宛先の認証を扱います。一方プロキシは Proxy-Authenticate とともにステータス 407 を返し、独自の認証処理が必要です。

requests-toolbelt は HTTPProxyDigestAuth を提供し、プロキシのチャレンジを処理してプロキシ認可を準備します。使用している Requests とトランスポートの正確なバージョンとの互換性を確認してください。

HTTPS CONNECT には別個の対応が必要

プロキシはCONNECT トンネルの確立中、通常の宛先応答がレスポンスフックに届く前にチャレンジを提示できます。したがって、可視の 407 を処理できても、すべての CONNECT 認証経路を支援できることにはなりません。

HTTPS 宛先では、トンネル確立時に必要なプロキシ認証を明示的に支援するクライアントまたは保守された統合を使用してください。古い Requests や urllib3 の内部構造に依存するモンキーパッチは、再利用の前に保守された互換性の表明が必要です。

プロキシ認証と宛先認証の要件を別々の項目に記録し、失敗した段階も含めてください。これにより、どのチャレンジを処理済みで、どれがまだ支援を要するかが分かります。

関連記事