Àwọn callback kikọ PHP cURL gbọdọ̀ dá iye byte tí wọ́n ti ṣiṣẹ́ lórí padà
Bọ̀wọ̀ fún àdéhùn kíkà byte nígbà tí o bá ń lo àwọn ẹ̀ka ìdáhùn proxy, kí o sì ya ìkùnà kikọ àdúgbò sọ́tọ̀ kúrò nínú ìsopọ̀ proxy tí ó kùnà.
Proxy ń gbé dátà wá. Callback kikọ rẹ ń dá iye tí kò tọ́ padà. Lẹ́yìn náà libcurl dáwọ́ dúró, kóòdù tó yí i ká sì ròyìn “ìkùnà gbígbé kalẹ̀ láti proxy” mìíràn.
Callback gbọdọ̀ ròyìn iye byte tí ó gbà tí ó ṣiṣẹ́ lórí ní ti gidi. Dídá iye mìíràn padà ń fi ìkùnà hàn. Fún ibi kikọ tí ń dènà pẹ̀lú ìmọ̀, ẹ̀ka kan lè rí bẹ́ẹ̀:
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;
}
);Èyí gbà pé àwọn ohun èlò tó wà lọ́wọ́ ni ó ni handle àti ibi kikọ náà. Kikọ tí ó kùnà tàbí kúkúrú ń dáwọ́ dúró dípò kí ó sọ ní ìdákẹ́jẹ́ pé gbogbo ẹ̀ka náà ti wà nípamọ́. Ibi tí kò dènà nílò àpẹẹrẹ ìkójọpọ̀ àti ìdádúró/ìtẹ̀síwájú tó yẹ; ẹ̀ka kékeré kò pèsè irú bẹ́ẹ̀.
Ka byte, kì í ṣe àwọn lẹ́tà tí a fi hàn. Dátà lè jẹ́ binary tàbí apá kan ìtẹ̀lé ọ̀rọ̀ byte púpọ̀. Callback kan kò fi dandan jẹ́ ìlà kan, ìwé JSON kan tàbí ìfiránṣẹ́ kan láti ọ̀dọ̀ iṣẹ́ náà.
Ìtúpalẹ̀ àfikún nílò ipò tirẹ̀ láàrin àwọn callback. Ní ìdàkejì, kíkó gbogbo ẹ̀ka jọ títí di ìparí lè tọ́ fún ìdáhùn kékeré tí ó ní ààlà, ṣùgbọ́n kì í ṣe ìlànà ìrántí fún ìṣàn ńlá tàbí tí kò ní òpin.
Pa ìyọrísí gbígbé àti ẹ̀rí ìkùnà callback mọ́. Àṣìṣe díìsì àdúgbò tàbí ìdádúró parser lè ṣẹlẹ̀ lẹ́yìn tí a ti fi ọ̀nà proxy tó tọ́ kalẹ̀. Bí o bá ń wéwèé láti dáwọ́ dúró lẹ́yìn àkọ́sílẹ̀ kan, sàmì sí ìdádúró callback mọ̀ọ́mọ̀ yẹn lọ́tọ̀. Yíyí àdírẹ́sì proxy kò lè tún ibi tí ó ti dáwọ́ dúró ní gbígba dátà ṣe.