Діагностичне поле у відповіді CONNECT проксі належить до іншої відповіді, ніж пізніша відповідь сайту. Об'єкт відповіді призначення високого рівня може показувати лише останню.

Інтерфейс транспортуДе з'являються метадані CONNECT
Стандартний API HTTP-з'єднання Python, 3.12+get_proxy_response_headers() повертає заголовки відповіді CONNECT, або None коли CONNECT не надсилався.
Збирання заголовків у libcurlЗаголовки CONNECT можуть бути включені. CURLOPT_SUPPRESS_CONNECT_HEADERS керує їх доставкою через відповідні шляхи виведення заголовків.

Для обробника cURL у Guzzle, перехоплюйте кожен блок відповіді за допомогою on_headers замість того щоб дивитися лише на повернуту відповідь. Використовуйте підтримуваний інтерфейс клієнта, який справді виконує запит. Бібліотека, побудована над Python, не обов'язково розкриває метод з'єднання у своїй відповіді, а окремий екземпляр з'єднання не може виявити цей обмін. Придушення заголовків CONNECT у libcurl може спростити парсер, але приховує доказ, потрібний діагностиці.

Якщо поле досі відсутнє, перевірте задокументовані умови продукту, методу та результату в оператора. Запит, переданий відкритим текстом, і непрозорий тунель HTTPS можуть розкривати метадані по-різному; поле постачальника не є обов'язковою частиною кожної відповіді.

Зберігайте визначення поля разом з його значенням. Повернута IP-адреса може описувати слухача, локальне прив'язування, вибраний вихід або призначення. Лише її форма не визначає джерело, обернене до сайту.

Схожі статті