د PHP cURL پراکسي سرلیکونه: CONNECT او د منزل ځوابونه
کله چې د PHP cURL لېږد پراکسي وکاروي، د CONNECT، تصدیق، بیاځلي لارښوونې او وروستي ځواب سرلیکونه جلا وساتئ.
د سرلیک کرښې د ځواب له بدن څخه جلا راټولې کړئ. د پراکسي له لارې لېږد کېدای شي د 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 ټګ په لټولو سره بیرته مه اخلئ. د سرلیک اندازه توپیر لري، منځني ځوابونه توپیر لري، او بدن کېدای شي باینري یا خالي وي. زوړ د خپرېدو ځانګړی بګ راپور اټکل شوی آفسټ نه توجیه کوي.
د بدن سمبالښت جلا وساتئ، او که راټولول یا تحلیل ناکام شي، د لېږد تېروتنه د لیدل شوو ځواب پړاوونو سره وساتئ. دا د پرې شوي بیرته غږونکي، خراب شوي اپلیکیشن ډاټا او رد شوي پراکسي تبادلې ترمنځ توپیر کوي.