Proxy ma'lumot yetkazadi. Yozish callback'ingiz noto'g'ri qiymat qaytaradi. Shunda libcurl to'xtaydi va atrofdagi kod yana bir “proxy orqali yuklab olish xatosi” haqida xabar beradi.

Callback qabul qilingan qancha baytni haqiqatda ishlaganini bildirishi kerak. Boshqa son qaytarish xatoni bildiradi. Ataylab bloklaydigan yozish manzili uchun bo'lak shunday ko'rinishi mumkin:

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;
    }
);

Bu mavjud ilova handle va yozish manziliga ega deb hisoblaydi. Muvaffaqiyatsiz yoki qisqa yozish butun bo'lak saqlangan deb jimgina da'vo qilish o'rniga to'xtaydi. Bloklamaydigan manzil tegishli buferlash va to'xtatish/davom ettirish dizaynini talab qiladi; kichik bo'lak buni bermaydi.

Ko'rsatilgan belgilarni emas, baytlarni sanang. Ma'lumot ikkilik yoki ko'p baytli matn ketma-ketligining qismi bo'lishi mumkin. Bitta callback albatta bitta satr, bitta JSON hujjati yoki xizmatdan kelgan bitta xabar emas.

Inkremental tahlil callback'lar orasida o'z holatini talab qiladi. Aksincha, har bir bo'lakni tugagunga qadar to'plash kichik cheklangan javob uchun to'g'ri bo'lishi mumkin, lekin katta yoki cheksiz oqim uchun xotira siyosati emas.

Uzatish natijasini va callback xatosining dalillarini saqlang. Yaroqli proxy yo'li o'rnatilgandan keyin mahalliy disk xatosi yoki parser to'xtashi yuz berishi mumkin. Agar prefikstdan keyin to'xtashni niyat qilsangiz, o'sha ataylab callback to'xtashini alohida belgilang. Proxy manzilini almashtirish ma'lumot qabul qilishni to'xtatgan manzilni tuzata olmaydi.

O'xshash maqolalar