ప్రతిస్పందన యొక్క ప్రధాన భాగం నుండి హెడర్ పంక్తులను విడిగా సేకరించండి. ప్రాక్సీ ద్వారా జరిగే బదిలీ CONNECT, ప్రామాణీకరణ, మళ్లింపు మరియు గమ్యస్థాన ప్రతిస్పందన హెడర్లను ఒకే కార్యకలాపంలో అందించగలదు:

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

ఈ కాల్బ్యాక్ ముడి పంక్తి క్రమాన్ని ఉంచుతుంది మరియు అంగీకరించిన బైట్ల సంఖ్యను తిరిగి ఇస్తుంది. ఇది పూర్తి పంక్తులను పొందుతుంది; కానీ ఇంకా వాటిని ప్రతిస్పందనలుగా సమూహపరచదు లేదా తుది వెబ్సైట్ హెడర్లను ఎంచుకోదు.

క్రమాన్ని బ్లాకులుగా అర్థం చేసుకోండి

HTTP స్థితి పంక్తి ప్రతిస్పందన బ్లాక్ను ప్రారంభిస్తుంది, ఖాళీ పంక్తి దాని హెడర్లను ముగిస్తుంది. తుది గమ్యస్థాన ప్రతిస్పందనను ఎంచుకునే ముందు ఆ హద్దులను కాపాడండి. మధ్యంతర ప్రామాణీకరణ ప్రయత్నాలు మరియు మళ్లింపులు ఒక్కొక్కటి బ్లాకులను జోడించగలవు.

ట్రైలర్లు తర్వాత కాల్బ్యాక్ ద్వారా రావచ్చు. ప్రతి తదుపరి ఫీల్డ్ను మొదటి ప్రతిస్పందనకు జోడించడం బదులు వాటిని ప్రారంభ హెడర్ల నుండి వేరు చేయడానికి సరిపోతున్న పార్సర్ స్థితిని ఉంచండి.

టన్నెల్ సాక్ష్యాన్ని ఉంచండి లేదా అణచివేయండి

HTTPS టన్నెల్ యొక్క CONNECT స్థితి కోసం CURLINFO_HTTP_CONNECTCODE విడిగా చదవండి. అంగీకరించిన టన్నెల్ విజయవంతమైన వెబ్సైట్ ప్రతిస్పందనను నిరూపించదు.

సేకరణకర్తకు CONNECT హెడర్లు అవసరం లేకపోతే, CURLOPT_SUPPRESS_CONNECT_HEADERS కాన్ఫిగర్ చేసిన హెడర్ అవుట్పుట్ మరియు కాల్బ్యాక్ మార్గాలకు వాటి డెలివరీని నియంత్రిస్తుంది. అనుసంధానించిన libcurl మరియు PHP బిల్డ్లో మద్దతును తనిఖీ చేయండి. అణచివేత సేకరణను సులభతరం చేస్తుంది కానీ నిర్ధారణకు సహాయపడే హెడర్-స్థాయి టన్నెల్ సాక్ష్యాన్ని తొలగిస్తుంది.

స్థిర ఆఫ్సెట్ లేదా HTML ట్యాగ్ను వెతికి ప్రధాన భాగాన్ని తిరిగి పొందవద్దు. హెడర్ పరిమాణాలు మారుతాయి, మధ్యంతర ప్రతిస్పందనలు భిన్నంగా ఉంటాయి, మరియు ప్రధాన భాగం బైనరీ లేదా ఖాళీగా ఉండవచ్చు. పాత విడుదల-నిర్దిష్ట బగ్ నివేదిక ఊహించిన ఆఫ్సెట్ను సమర్థించదు.

ప్రధాన భాగం నిర్వహణను వేరుగా ఉంచండి, మరియు సేకరణ లేదా పార్సింగ్ విఫలమైతే గమనించిన ప్రతిస్పందన దశలతో బదిలీ లోపాన్ని ఉంచండి. అది అంతరాయం కలిగిన కాల్బ్యాక్, వికృత అప్లికేషన్ డేటా మరియు తిరస్కరించిన ప్రాక్సీ మార్పిడిని వేరు చేస్తుంది.

సంబంధిత వ్యాసాలు