Láimhseálaí cURL Guzzle: ceanntásca CONNECT an tseachfhreastalaí a ghabháil
Gabh bláic ar leith de cheanntásca freagartha le láimhseálaí cURL Guzzle nuair a bhíonn freagra CONNECT an tseachfhreastalaí agus freagra an tsuímh ghréasáin araon tábhachtach.
Is féidir le hiarratas HTTPS trí sheachfhreastalaí HTTP freagra amháin a fháil a ghlacann le CONNECT agus, níos déanaí, freagra ón suíomh gréasáin laistigh den tollán sin. Le haghaidh an tsocraithe tosaigh ar an mbealach, féach ar rogha seachfhreastalaí Guzzle in aghaidh an iarratais. Ní gá ceanntásc ar an gcéad fhreagra a bheith ar an réad freagartha deiridh.
Chun é a atáirgeadh le críochphointe HTTP a roghnaíonn tú féin, tóg iarrthóir ón liosta seachfhreastalaithe HTTP agus deimhnigh go nglacann sé leis an tollán HTTPS. Ar chonair láimhseálaí cURL Guzzle 7.10, coinnigh gach aisghlao ceanntásc mar bhloc ar leith:
$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(),
];
},
]);
Caithfidh an síneadh cURL CURLOPT_SUPPRESS_CONNECT_HEADERS a nochtadh, rogha a thug libcurl 7.54.0 isteach. Má shocraítear ar false é, tagann ceanntásca CONNECT chun aisghlao ceanntásc cURL. Tógann láimhseálaí Guzzle 7.10 freagra do gach bloc ceanntásc críochnaithe agus glaoann sé on_headers ag an teorainn sin.
Coinnigh na bláic in ord. Is féidir le dúshláin fhíordhaithe, atreoruithe agus freagraí faisnéise bláic bhreise a chruthú; ná déan gach luach a leathadh isteach in aon eagar amháin agus ná rangaigh freagra toisc go bhfuil a stádas 200 amháin.
Seasann an freagra a fhilltear d'fhreagra an iarratais chríochnaithe, agus coimeádann blocks na breathnuithe a bhailigh na haisghlaonna. Mura n-éiríonn le socruithe an tolláin nó TLS, láimhseáil an eisceacht aistrithe a chaitear san fheidhmchlár glaonna; b'fhéidir nach mbeidh freagra deiridh ón suíomh ann.
Tá an t-iompar seo ceangailte leis an láimhseálaí cURL a luaitear. Ní gá do láimhseálaí saincheaptha nó sruthláimhseálaí na haisghlaonna céanna lámhchrainn seachfhreastalaí a nochtadh. Caith le ceanntásca seachfhreastalaí a gabhadh mar shonraí diagnóiseacha agus seachain luachanna a bhaineann le cuntas a choinneáil gan ghá.