HTTP проксигоор дамжсан HTTPS хүсэлт CONNECT хүлээн авдаг нэг хариу, дараа нь тэр туннелийн доторх вэбсайтаас ирэх хариуг авч болно. Анхны замын тохиргоог Guzzle-н хүсэлт тус бүрийн прокси сонголт-оос үзнэ үү. Эхний хариуны толгой нь эцсийн хариуны объектод заавал байх шаардлагагүй.

Өөрөө сонгосон HTTP төгсгөлийн цэгээр дахин үүсгэхийн тулд HTTP проксийн жагсаалтаас нэр дэвшигч авч, HTTPS туннелийг хүлээн авдаг эсэхийг баталгаажуулна уу. Guzzle 7.10-н cURL боловсруулагчийн замд толгой бүрийн буцаан дуудлагыг тусдаа блок болгон хадгална:

$blocks = [];
$client = new \GuzzleHttp\Client([
    'handler' => \GuzzleHttp\HandlerStack::create(
        new \GuzzleHttp\Handler\CurlHandler()
    ),
]);

$response = $client->get('https://www.example.com/', [
    'proxy' => 'http://proxy.example:8080',
    'curl' => [CURLOPT_SUPPRESS_CONNECT_HEADERS => false],
    'on_headers' => function (
        \Psr\Http\Message\ResponseInterface $part
    ) use (&$blocks) {
        $blocks[] = [
            'status' => $part->getStatusCode(),
            'reason' => $part->getReasonPhrase(),
            'headers' => $part->getHeaders(),
        ];
    },
]);

cURL өргөтгөл нь libcurl 7.54.0-оос нэвтрүүлсэн CURLOPT_SUPPRESS_CONNECT_HEADERS сонголтыг санал болгох ёстой. Үүнийг false болгоход CONNECT толгойнууд cURL-н толгойн буцаан дуудлагад хүрнэ. Guzzle 7.10 боловсруулагч дууссан толгойн блок бүрт хариу бүтээж, тэр хил дээр on_headers-ийг дуудна.

Блокуудыг дарааллаар нь хадгална. Баталгаажуулалтын сорилт, дахин чиглүүлэлт, мэдээллийн хариунууд нэмэлт блок үүсгэж болно; бүх утгыг нэг массивт тэгшлэхгүй, хариуг зөвхөн статус нь 200 гэсэн үндэслэлээр ангилахгүй байх хэрэгтэй.

Буцаасан хариу нь дууссан хүсэлтийн хариуг илэрхийлдэг бол blocks нь буцаан дуудлагуудын цуглуулсан ажиглалтыг хадгална. Туннель эсвэл TLS тохиргоо бүтэлгүйтвэл дуудаж буй апп дотор шидэгдсэн дамжуулалтын үл хамаарах зүйлийг зохицуулна; эцсийн вэбсайтын хариу байхгүй байж болно.

Энэ зан төлөв нь дурдсан cURL боловсруулагчтай холбоотой. Захиалгат эсвэл урсгалын боловсруулагч ижил прокси гар барих буцаан дуудлагыг санал болгох үүрэггүй. Баригдсан прокси толгойнуудыг оношилгооны өгөгдөл гэж үзэж, бүртгэлтэй холбоотой утгыг шаардлагагүйгээр хадгалахаас зайлсхий.

Холбоотой нийтлэлүүд