אָנהייבט מיט דעם רעזולטאַט פֿון cURL ווען אַ בלאַט אַראָפּגעלאָדן דורך אַ פּראָקסי קוקט אויס אומפֿאַרענדיקט. אַ קורץ ענטפֿער, אַ דורכגעפֿאַלן איבערפֿירונג און אַ פֿולער בלאָקירונג־בלאַט דאַרפֿן פֿאַרשיידענע דערקלערונגען.

ווען CURLOPT_RETURNTRANSFER איז אַקטיוו אויף דעם שוין קאָנפֿיגורירטן handle:

$body = curl_exec($ch);
if ($body === false) {
    throw new RuntimeException(curl_error($ch), curl_errno($ch));
}

$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$downloaded = curl_getinfo($ch, CURLINFO_SIZE_DOWNLOAD_T);
$declared = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T);

זאַמלט די ווערטן איידער איר באַפֿרײַט דעם handle. דער שטרענגער פֿאַרגלײַך באַשיידט אַן איבערפֿירונג־פֿעלער פֿון אַ געראָטן קערפּער ווי אַ ליידיקע סטרינג אָדער “0”. HTTP־פֿעלער־סטאַטוסן זענען נישט אויטאָמאַטיש curl_exec־פֿעלער, דערפֿאַר טייטשט אויך דעם סטאַטוס.

דער ציילער פֿון אַראָפּגעלאָדנע דאַטן שליסט נישט אײַן קעפּלעך. דער דערקלערטער ווערט קומט פֿון Content-Length און איז -1 ווען די גרייס איז אומבאַקאַנט. אַן ענטפֿער מעג באַרעכטיקטערהייט אָפּלאָזן Content-Length; אַן אומבאַקאַנטער ווערט איז נישט קיין דיאַגנאָז פֿון אַן אָפּגעשניטענע טעקע.

אויטאָמאַטישע אינהאַלט־דעקאָדירונג ברענגט נאָך אַן אונטערשייד. Content-Length באַשרײַבט געוויינטלעך די פֿאַרדריקטע פֿאָרשטעלונג, בשעת די PHP־סטרינג קען האָבן אויסגעפּאַקטע בייטן. פֿאַרגלײַכן strlen($body) מיט יענעם קעפּל פֿאַרגלײַכט אַנדערע פֿאָרשטעלונגען.

cURL קען מעלדן CURLE_PARTIAL_FILE ווען די איבערפֿירונג פֿאַרלעצט אַ דערוואַרטעטע גרייס. האַלט יענעם פֿעלער אַנשטאָט באַטראַכטן יעדע נישט־ליידיקע אויסגאַבע ווי אַ הצלחה. פֿאַרקערט, אַ געראָטענע איבערפֿירונג מיט אַ קליינעם 200־ענטפֿער קען זײַן דער גאַנצער בלאַט וואָס דער מקור אָדער דער פּראָקסי האָבן אויסגעקליבן צוריקצוגעבן.

צום סוף פּרוּווט דעם נייטיקן אינהאַלט. HTML וואָס cURL ברענגט פֿירט נישט אויס JavaScript צו פֿילן דעם בלאַט. אָפּטײלונגען וואָס דער בלעטערער ווײַזט קענען פֿעלן אינעם אָריגינעלן ענטפֿער אַפֿילו ווען יעדער איבערגעגעבענער בייט איז אָנגעקומען.

פֿאַרבונדענע אַרטיקלען