പ്രതികരണത്തിന്റെ ബോഡിയിൽ നിന്ന് ഹെഡർ വരികൾ വേർതിരിച്ച് ശേഖരിക്കുക. പ്രോക്സിയിലൂടെയുള്ള കൈമാറ്റം 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 ടാഗ് തിരഞ്ഞോ ബോഡി വീണ്ടെടുക്കരുത്. ഹെഡർ വലുപ്പങ്ങൾ വ്യത്യാസപ്പെടുന്നു, ഇടയ്ക്കുള്ള പ്രതികരണങ്ങൾ വ്യത്യസ്തമാണ്, ബോഡി ബൈനറിയോ ശൂന്യമോ ആകാം. പഴയ പ്രകാശനത്തിന് പ്രത്യേകമായ ബഗ് റിപ്പോർട്ട് ഊഹിച്ച ഓഫ്സെറ്റിനെ ന്യായീകരിക്കുന്നില്ല.

ബോഡി കൈകാര്യം ചെയ്യുന്നത് വേർതിരിച്ച് സൂക്ഷിക്കുക, ശേഖരണമോ പാഴ്സിംഗോ പരാജയപ്പെട്ടാൽ നിരീക്ഷിച്ച പ്രതികരണ ഘട്ടങ്ങളോടൊപ്പം കൈമാറ്റ പിശക് സൂക്ഷിക്കുക. അത് തടസ്സപ്പെട്ട കോൾബാക്ക്, വികലമായ ആപ്ലിക്കേഷൻ ഡാറ്റ, നിരസിച്ച പ്രോക്സി കൈമാറ്റം എന്നിവ വേർതിരിക്കുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ