proxy දත්ත ලබා දෙයි. ඔබේ ලිවීම් callback වැරදි අගයක් ආපසු ලබා දෙයි. එවිට libcurl නතර වන අතර, වටා ඇති කේතය තවත් “proxy බාගැනීමේ අසාර්ථකත්වයක්” වාර්තා කරයි.

callback ඇත්ත වශයෙන්ම සැකසූ ලැබුණු බයිට් ගණන වාර්තා කළ යුතුය. වෙනත් ගණනක් ආපසු ලබා දීම අසාර්ථකත්වයක් සංඥා කරයි. ඕනෑකමින් අවහිර කරන ලිවීම් ගමනාන්තයක් සඳහා, කොටසක් මෙසේ විය හැක:

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 සහ ලිවීම් ගමනාන්තය හිමිකර ගන්නා බවයි. අසාර්ථක හෝ කෙටි ලිවීමක් මුළු කොටසම සුරැකුණු බව නිශ්ශබ්දව ප්‍රකාශ කරනවා වෙනුවට නතර වේ. අවහිර නොකරන ගමනාන්තයකට සුදුසු buffer සහ විරාම/නැවත ආරම්භ කිරීමේ නිර්මාණයක් අවශ්‍යයි; කුඩා කොටස එය ලබා නොදේ.

දර්ශනය වන අක්ෂර නොව බයිට් ගණන් කරන්න. දත්ත binary හෝ බහු-බයිට් පෙළ අනුක්‍රමයක කොටසක් විය හැක. එක් callback එකක් අනිවාර්යයෙන් එක් පේළියක්, එක් JSON ලේඛනයක් හෝ සේවාවෙන් එන එක් පණිවිඩයක් නොවේ.

වර්ධක විග්‍රහයට callback අතර තමන්ගේම තත්ත්වයක් අවශ්‍යයි. ඊට පටහැනිව, සම්පූර්ණ වන තෙක් සෑම කොටසක්ම එකතු කිරීම කුඩා සීමිත ප්‍රතිචාරයකට නිවැරදි විය හැකි නමුත්, විශාල හෝ අනන්ත ප්‍රවාහයකට මතක ප්‍රතිපත්තියක් නොවේ.

සම්ප්‍රේෂණයේ ප්‍රතිඵලය සහ callback අසාර්ථකත්වයේ සාක්ෂි තබා ගන්න. වලංගු proxy මාර්ගයක් ස්ථාපිත කිරීමෙන් පසු දේශීය තැටි දෝෂයක් හෝ parser නැවතීමක් සිදු විය හැක. ඔබට prefix එකකින් පසු නැවතීමට අදහස් නම්, එම ඕනෑකමින් සිදු කරන callback නැවතීම වෙන වෙනම සලකුණු කරන්න. proxy ලිපිනය මාරු කිරීමෙන් දත්ත පිළිගැනීම නතර කළ ගමනාන්තයක් සුවපත් කළ නොහැක.

අදාළ ලිපි