proxy தரவை வழங்குகிறது. உங்கள் எழுதும் கால்பேக் தவறான மதிப்பைத் திருப்பித் தருகிறது. பின்னர் libcurl நிறுத்துகிறது, சுற்றியுள்ள குறியீடு மற்றொரு “proxy பதிவிறக்க தோல்வியை” தெரிவிக்கிறது.

கால்பேக் உண்மையில் எத்தனை பெறப்பட்ட பைட்டுகளைக் கையாண்டது என்பதைத் தெரிவிக்க வேண்டும். வேறு எண்ணிக்கையைத் திருப்பித் தருவது தோல்வியைக் குறிக்கிறது. வேண்டுமென்றே தடுக்கும் எழுதல் இலக்குக்கு, ஒரு பகுதி இப்படி இருக்கலாம்:

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 ஆவணம் அல்லது சேவையிலிருந்து ஒரு செய்தி என்று இருக்க வேண்டியதில்லை.

அதிகரிக்கும் பகுப்பாய்வுக்கு கால்பேக்குகளுக்கு இடையே அதன் சொந்த நிலை தேவை. மாறாக, முடியும் வரை ஒவ்வொரு பகுதியையும் சேர்ப்பது சிறிய வரம்புக்குட்பட்ட பதிலுக்குச் சரியாக இருக்கலாம், ஆனால் பெரிய அல்லது முடிவில்லாத ஸ்ட்ரீமுக்கு நினைவகக் கொள்கை அல்ல.

பரிமாற்றத்தின் முடிவையும் கால்பேக் தோல்வியின் சான்றையும் வைத்திருங்கள். செல்லுபடியாகும் proxy பாதை நிறுவப்பட்ட பிறகு உள்ளூர் வட்டு பிழை அல்லது பகுப்பான் நிறுத்தம் ஏற்படலாம். முன்னொட்டுக்குப் பிறகு நிறுத்த விரும்பினால், அந்த வேண்டுமென்றே கால்பேக் நிறுத்தத்தைத் தனியாகக் குறிக்கவும். proxy முகவரியை மாற்றுவது தரவை ஏற்பதை நிறுத்திய இலக்கைச் சரிசெய்ய முடியாது.

தொடர்புடைய கட்டுரைகள்