HTTPS-beiðni í gegnum HTTP-milliþjón getur fengið eitt svar sem samþykkir CONNECT og síðar svar frá vefsvæðinu inni í þeim göngum. Fyrir upphaflega leiðaruppsetningu sjá milliþjónsval Guzzle fyrir hverja beiðni. Haus í fyrra svarinu þarf ekki að vera í endanlega svarhlutnum.

Til að endurgera með HTTP-endapunkti sem þú velur sjálfur skaltu taka frambjóðanda úr listanum yfir HTTP-milliþjóna og staðfesta að hann samþykki HTTPS-göngin. Á cURL-meðhöndlaraleið Guzzle 7.10 skaltu varðveita hvert haus-endurkall sem sérstakan blokk:

$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-viðbótin verður að bjóða CURLOPT_SUPPRESS_CONNECT_HEADERS, valkost sem libcurl 7.54.0 kynnti. Að setja hann á false leyfir CONNECT-hausum að ná til haus-endurkalls cURL. Meðhöndlari Guzzle 7.10 byggir svar fyrir hvern fullkláraðan hausblokk og kallar á on_headers við þau mörk.

Haltu blokkunum í röð. Auðkenningarákvarðanir, endurbeiningar og upplýsingasvör geta myndað fleiri blokka; ekki fletja öll gildi í eitt fylki og ekki flokka svar eingöngu vegna þess að staða þess er 200.

Svarið sem skilað er táknar svar fullkláraðrar beiðni, en blocks varðveitir athuganirnar sem endurköllin söfnuðu. Ef uppsetning ganganna eða TLS mistekst, meðhöndlaðu flutningsundantekninguna sem kastað er í kallandi forritinu; endanlegt svar vefsvæðisins kann að vera ekki til.

Þessi hegðun er bundin við tilgreinda cURL-meðhöndlarann. Sérsniðinn meðhöndlari eða straummeðhöndlari er ekki skyldugur að bjóða sömu endurköll milliþjóns-handtaksins. Meðhöndlaðu fönguðu milliþjónshausana sem greiningargögn og forðastu að varðveita reikningstengd gildi að óþörfu.

Tengdir greinar