プロキシの CONNECT 応答ヘッダーを確認する場所
宛先応答オブジェクトにプロキシ固有の診断フィールドがない場合、CONNECT のやり取りを確認します。
プロキシの CONNECT 応答にある診断フィールドは、ウェブサイトの後続の応答とは別の応答に属します。高レベルの宛先応答オブジェクトは後者のみを公開する場合があります。
| トランスポートインターフェース | CONNECT メタデータが現れる場所 |
|---|---|
| Python の標準 HTTP 接続 API、3.12+ | get_proxy_response_headers() は CONNECT 応答ヘッダーを返します。または None CONNECT が送信されなかった場合です。 |
| libcurl のヘッダー収集 | CONNECT ヘッダーを含めることができます。 CURLOPT_SUPPRESS_CONNECT_HEADERS 関連するヘッダー出力経路を通じた配信を制御します。 |
Guzzle の cURL ハンドラーの場合は、 on_headers で各応答ブロックを取得してください 返された応答だけを見るのではなく。実際にリクエストを行うクライアントのサポートされているインターフェースを使用してください。Python 上に構築されたライブラリが応答で接続方法を必ず公開するとは限らず、別の接続インスタンスではこのやり取りを明らかにできません。libcurl の CONNECT ヘッダーを抑制するとパーサーは単純になりますが、診断に必要な証拠が隠れます。
フィールドが依然としてない場合は、オペレーターの文書化された製品、方法、結果の条件を確認してください。プレーンテキストで転送されたリクエストと不透明な HTTPS トンネルではメタデータの公開方法が異なる場合があります。ベンダーのフィールドはすべての応答に必須の部分ではありません。
フィールドの定義をその値と一緒に保ってください。返された IP はリスナー、ローカルバインド、選択された出口、または宛先を表す場合があります。その形だけではウェブサイトから見える送信元を特定できません。