PHP cURL שרייבן קאַלבאַקס מוזן צוריקגעבן די צאָל פון באַהאַנדלטע בייטן
אַכט דעם בייטן־צאָל־אָפּמאַך בשעת איר ניצט פּראָקסי־ענטפֿער־שטיקלעך, און אונטערשייד אַ לאָקאַלן שרײַבפֿעלער פֿון אַ דורכגעפֿאַלענער פּראָקסי־פֿאַרבינדונג.
דער פּראָקסי ליפֿערט דאַטן. דײַן שרײַבקאַלבאַק גיט צוריק דעם פֿאַלשן ווערט. דערנאָך ברעכט libcurl אָפּ, און דער אַרומיקער קאָד מעלדט נאָך אַ „פּראָקסי־אַראָפּלאָדונג פֿעלער“.
דער קאַלבאַק מוז מעלדן וויפֿל באַקומענע בייטן ער האָט טאַקע באַהאַנדלט. צוריקגעבן אַן אַנדער צאָל מיינט אַ פֿעלער. פֿאַר אַ באַוווסטזיניק בלאָקירנדיקן שרײַבציל קען אַ שטיקל אויסזען אַזוי:
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־דאָקומענט אָדער אַ מעלדונג פֿון דער דינסט.
אינקרעמענטאַלע פּאַרסונג דאַרף איר אייגענעם צושטאַנד צווישן קאַלבאַקס. פֿאַרקערט, אָפּזאַמלען יעדן שטיקל ביז פֿאַרענדיקונג קען זײַן ריכטיק פֿאַר אַ קליינעם באַגרענעצטן ענטפֿער, אָבער עס איז ניט קיין זיקאָרון־פּאָליטיק פֿאַר אַ גרויסן אָדער אַן אומענדלעכן שטראָם.
היט דעם איבערפֿירונג־רעזולטאַט און די באַווײַזן פֿון קאַלבאַק־פֿעלער. אַ לאָקאַלער דיסק־פֿעלער אָדער אַ פּאַרסער־אָפּשטעל קען פֿאָרקומען נאָך דעם וואָס אַ גילטיקער פּראָקסי־וועג איז אויפֿגעשטעלט געוואָרן. אויב איר פֿאַרזעצט זיך אָפּשטעלן נאָך אַ פּרעפֿיקס, צייכנט אָפּ דעם באַוווסטזיניקן קאַלבאַק־אָפּשטעל באַזונדער. פֿאַרבייטן די פּראָקסי־אַדרעס קען ניט פֿאַרריכטן אַ ציל וואָס האָט אויפֿגעהערט אָננעמען דאַטן.