Safnaðu hauslínum aðskildum frá líkama svarsins. Flutningur í gegnum staðgengil getur skilað CONNECT-, auðkenningar-, endurbeiningar- og viðtökusvarshausum í einni aðgerð:

$headerLines = [];
curl_setopt($handle, CURLOPT_HEADERFUNCTION,
    function ($handle, $line) use (&$headerLines) {
        $headerLines[] = $line;
        return strlen($line);
    }
);

Þetta bakkall heldur hinu hráa línuröð og skilar fjölda samþykktra bæta. Það tekur við heilum línum; en flokkar þær ekki enn í svör né velur hausa loka vefsvæðisins.

Túlkaðu röðina sem blokkir

HTTP stöðulína byrjar svarsblokk og tóm lína endar hausa hennar. Varðveittu þessi mörk áður en þú velur loka viðtökusvarið. Millistigs auðkenningartilraunir og endurbeiningar geta hvor um sig bætt við blokkum.

Trailerar geta komið síðar í gegnum bakkallið. Hafðu næga stöðu þáttara til aðgreiningar frá upphafshausunum í stað þess að hengja hvert síðara svið á fyrsta svarið.

Varðveittu eða bældu sönnunina um göngin

Lestu CURLINFO_HTTP_CONNECTCODE sérstaklega fyrir CONNECT stöðu HTTPS-ganganna. Samþykkt göng sanna ekki vel heppnað svar vefsvæðisins.

Ef safnarinn þarf ekki CONNECT-hausa, stýrir CURLOPT_SUPPRESS_CONNECT_HEADERS afhendingu þeirra til uppsettu hausúttaksins og bakkallsleiða. Athugaðu stuðning í tengdu libcurl og PHP-uppbyggingu. Bæling einfaldar söfnun en fjarlægir sönnun ganga á hausstigi sem getur hjálpað við greiningu.

Endurheimtu ekki líkamann með föstum hliðrun né með því að leita að HTML-merki. Hausstærðir eru breytilegar, millisvör eru mismunandi og líkaminn getur verið tvíundar eða tómur. Gömul útgáfusértæk villuskýrsla réttlætir ekki ágiskun á hliðrun.

Haltu meðferð líkamans aðskilinni og varðveittu flutningsvilluna ásamt athuguðum svarsstigum ef söfnun eða þáttun mistekst. Það greinir milli rofins bakkalls, skemmdra forritsgagna og hafnaðrar staðgengilsskiptis.

Tengdir greinar