د PHP cURL د لیکلو کالبکونه باید د پروسس شوو بایټونو شمېر بیرته راوګرځوي
د پروکسي ځواب برخې کارول کله د بایټ شمېر تړون مراعات کړئ او د سیمهایز لیکلو ناکامي له ناکام پروکسي نښلون څخه بېله کړئ.
پروکسي ډاټا رسول کوي. ستاسو د لیکلو کالبک غلط ارزښت بیرته راګرځوي. بیا libcurl ودروي، او شاوخوا کوډ بله “د پروکسي ډاونلوډ ناکامي” راپور کوي.
کالبک باید راپور کړي چې په رښتیا یې څو ترلاسه شوي بایټونه پروسس کړي. بل شمېر بیرته راګرځول ناکامي ښیي. د عمدي بلاک کوونکي لیکلو منزل لپاره، یوه برخه کېدای شي داسې وي:
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_WRITEFUNCTION,
function ($handle, $chunk) use ($sink) {
$written = fwrite($sink, $chunk);
return $written === false ? 0 : $written;
}
);دا فرض کوي چې موجوده اپلیکیشن handle او د لیکلو منزل لري. ناکام یا لنډ لیکل د دې پرځای چې په غلیمانه توګه ادعا وکړي چې ټوله برخه خوندي شوې ده، ودروي. غیر بلاک کوونکي منزل ته مناسبه بفرینګ او د تم/بیا پیل ډیزاین ته اړتیا ده؛ کوچنۍ برخه هغه نه برابروي.
بایټونه وشمېرئ، نه ښودل شوي توري. ډاټا کېدای شي باینري وي یا د څو بایټي متن ترتیب برخه وي. یو کالبک اړینه نه ده چې یو کرښه، یو JSON سند یا له خدمت څخه یو پیغام وي.
انکریمینټل تحلیل د کالبکونو ترمنځ خپل حالت ته اړتیا لري. برعکس، هرې برخې ته تر بشپړیدو پورې راټولول د کوچني محدود ځواب لپاره سم کېدای شي، خو د لوی یا بېپایانه جریان لپاره د حافظې تګلاره نه ده.
د لېږد نتیجه او د کالبک ناکامي شواهد وساتئ. د سیمهایز ډیسک تېروتنه یا پارسر درېدل کېدای شي وروسته له دې چې سم پروکسي لار جوړه شوه پیښ شي. که غواړئ له یو مخکښ څخه وروسته ودرېږئ، هغه عمدي کالبک درېدل جلا په نښه کړئ. د پروکسي پته بدلول د یو داسې منزل رغولو توان نه لري چې ډاټا منل یې بند کړي دي.