De Proxy liwwert Daten. Äre Schreif-Callback gëtt de falsche Wäert zréck. Duerno briecht libcurl of, an de Code ronderëm mellt nach eng „Proxy-Erofluedefeeler“.

De Callback muss mellen, wéi vill empfaange Byte en tatsächlech behandelt huet. Eng aner Zuel zréckzeginn bedeit e Feeler. Fir eng bewosst blockéierend Schreifsenk kann en Deel sou ausgesinn:

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

Dëst setzt viraus, datt déi existent Applikatioun den Handle an d'Schreifsenk besëtzt. E feelgeschloene oder kuerzen Schreiwen briecht of, amplaz stëll ze behaapten, de ganzen Deel wier gespäichert. Eng net-blockéierend Senk brauch eng uerdentlech Puffer- a Paus/Fortsetzungs-Konzeptioun; de klengen Deel bitt keng.

Zielt Byte, net ugewise Zeechen. D'Date kënnen binär sinn oder Deel vun enger méibyte-Textsequenz. Ee Callback ass net onbedéngt eng Zeil, en JSON-Dokument oder eng Noriicht vum Service.

Inkrementell Parséierung brauch hirem eegene Staat tëscht Callbacken. Ëmgedréit kann d'Cumulation vun all Deel bis zur Fäerdegstellung richteg si fir eng kleng begrenzt Äntwert, awer et ass keng Speicherpolitik fir e groussen oder endlosen Stroum.

Behält d'Resultat vum Transfer an d'Beweiser vum Callback-Feeler. E lokale Diskfeeler oder en Analysator-Abroch kann optrieden, nodeems eng gülteg Proxy-Route opgebaut gouf. Wann Dir no engem Präfix stoppe wëllt, markéiert deen bewossten Callback-Stopp getrennt. D'Proxy-Adress ze ersetzen kann eng Senk net reparéieren, déi opgehalen huet Date matzemaachen.

Ähnlech Artikelen