Vichwa vya PHP cURL kupitia proksi: CONNECT dhidi ya majibu ya lengwa
Tenganisha vichwa vya CONNECT, uthibitishaji, uelekezaji upya na jibu la mwisho wakati uhamishaji wa PHP cURL unatumia proksi.
Kusanya mistari ya vichwa kando na mwili wa jibu. Uhamishaji kupitia proksi unaweza kuwasilisha vichwa vya CONNECT, uthibitishaji, uelekezaji upya na jibu la lengwa katika operesheni moja:
$headerLines = [];
curl_setopt($handle, CURLOPT_HEADERFUNCTION,
function ($handle, $line) use (&$headerLines) {
$headerLines[] = $line;
return strlen($line);
}
);
Callback hii huhifadhi mfuatano mbichi wa mistari na hurudisha idadi ya baiti zilizokubaliwa. Hupokea mistari kamili; lakini bado haiziweki katika vikundi vya majibu wala haichagui vichwa vya tovuti ya mwisho.
Tafsiri mfuatano kama vitalu
Mstari wa hali ya HTTP huanza kitalu cha jibu, na mstari tupu humaliza vichwa vyake. Hifadhi mipaka hiyo kabla ya kuchagua jibu la lengwa la mwisho. Majaribio ya uthibitishaji ya kati na uelekezaji upya kila moja yanaweza kuongeza vitalu.
Trailers zinaweza kufika baadaye kupitia callback. Hifadhi hali ya kichanganuzi ya kutosha ili kuzitofautisha na vichwa vya awali, badala ya kuambatanisha kila sehemu ya baadaye na jibu la kwanza.
Hifadhi au kandamiza ushahidi wa handaki
Soma CURLINFO_HTTP_CONNECTCODE kando kwa hali ya CONNECT ya handaki la HTTPS. Handaki lililokubaliwa halithibitishi jibu la tovuti lililofanikiwa.
Ikiwa vichwa vya CONNECT havinahitajiki kwa mkusanyaji, CURLOPT_SUPPRESS_CONNECT_HEADERS hudhibiti uwasilishaji wake kwa pato la vichwa lililowekwa na njia za callback. Angalia usaidizi katika libcurl na ujenzi wa PHP uliounganishwa. Kukandamiza hurahisisha ukusanyaji lakini huondoa ushahidi wa handaki wa kiwango cha kichwa ambao unaweza kusaidia utambuzi.
Usirejeshe mwili kwa mwendo maalum au kwa kutafuta lebo ya HTML. Ukubwa wa vichwa hutofautiana, majibu ya kati hutofautiana, na mwili unaweza kuwa wa jozi au tupu. Ripoti ya hitilafu ya zamani maalum kwa toleo haihalalishi mwendo uliokadiriwa.
Tenganisha utunzaji wa mwili, na hifadhi hitilafu ya uhamishaji pamoja na hatua za jibu zilizozingatiwa ikiwa ukusanyaji au uchanganuzi unashindikana. Hiyo hutofautisha callback iliyokatizwa, data ya programu iliyoharibika na ubadilishanaji wa proksi uliokataliwa.