Прокси маалыматты жеткирет. Сиздин жазуу кайтарым чакырууңуз туура эмес маанини кайтарат. Андан кийин 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 документ же кызматтан келген бир билдирүү эмес.

Инкременталдуу талдоо кайтарым чакыруулардын ортосунда өзүнүн абалын талап кылат. Тескерисинче, ар бир бөлүктү бүткөнгө чейин жыйноо кичине чектелген жооп үчүн туура болушу мүмкүн, бирок чоң же чексиз агым үчүн эстутум саясаты эмес.

Өткөрүп берүүнүн жыйынтыгын жана кайтарым чакыруу катасынын далилин сактаңыз. Жарактуу прокси маршруту түзүлгөндөн кийин жергиликтүү диск катасы же талдоочунун токтошу болушу мүмкүн. Эгер префикстен кийин токтогонуңуз келсе, ал атайын кайтарым чакыруу токтошун өзүнчө белгилеңиз. Прокси дарегин алмаштыруу маалымат кабыл алууну токтоткон кабыл алуучуну оңдой албайт.

Тектеш макалалар