PHP cURL-Proxy-Header: CONNECT géint Äntwerten vum Zil
Hal CONNECT-, Authentifikatiouns-, Ëmleedungs- an final Äntwertheader getrennt, wann eng PHP cURL-Transfert e Proxy benotzt.
Sammelt Headerlinne getrennt vum Äntwertkierper. Eng Transfert iwwer e Proxy kann CONNECT-, Authentifikatiouns-, Ëmleedungs- an Ziläntwertheader an enger Operatioun liwweren:
$headerLines = [];
curl_setopt($handle, CURLOPT_HEADERFUNCTION,
function ($handle, $line) use (&$headerLines) {
$headerLines[] = $line;
return strlen($line);
}
);
Dëse Callback behält d'ro Linne-Uerdnung an gëtt d'Zuel vun akzeptéierte Byte zréck. En kritt komplett Linnen; awer en gruppéiert se nach net an Äntwerten an wielt och net d'Headere vun der finaler Websäit.
Interpretéiert d'Reiefolleg als Bléck
Eng HTTP-Statuslinn fänkt en Äntwertblock un, an eng eidel Linn enn seng Headeren. Behëlt dës Grenzen, ier Dir déi final Ziläntwert auswielt. Tëschent Authentifikatiounsversich an Ëmleedungen kënnen all Bléck derbäisetzen.
Traileren kënnen méi spéit iwwer de Callback kommen. Halt genuch Parserzoustand, fir se vun den initialen Headeren ze ënnerscheeden, amplaz all spéidert Feld un déi éischt Äntwert ze hänken.
Behält oder ënnerdréckt de Beweis vum Tunnel
Liest CURLINFO_HTTP_CONNECTCODE separat fir de CONNECT-Status vum HTTPS-Tunnel. En akzeptéierten Tunnel beweist keng erfollegräich Äntwert vun der Websäit.
Wann d'CONNECT-Headere fir den Sammler net néideg sinn, steiert CURLOPT_SUPPRESS_CONNECT_HEADERS hir Liwwerung un d'konfiguréiert Headerausgab an d'Callback-Weeër. Kontrolléiert d'Ënnerstëtzung an der verbonnener libcurl an am PHP-Build. Ënnerdrécke vereinfacht d'Sammelen, awer et hëlt den Tunnelbeweis op Header-Niveau ewech, deen bei der Diagnos hëllefe kann.
Stellt de Kierper net mat engem festen Offset oder duerch d'Siche vun engem HTML-Tag erëm hier. Headergréissten ënnerscheede sech, Tëschentäntwerten ënnerscheede sech, an de Kierper kann binär oder eidel sinn. En ale versionsspezifesche Feelerbericht rechtfertegt keen gegratenen Offset.
Halt d'Kierperbehandlung getrennt, a behält de Transferfeeler zesumme mat de beobachteten Äntwertphasen, wann d'Sammelen oder d'Parsen feelt. Dat ënnerscheet en ofgebrachne Callback, fehlerhaft Applikatiounsdaten an en ofgelehnte Proxy-Austausch.