Ka bilow natiijada cURL marka bog lagu soo dejiyay proxy uu u muuqdo mid aan dhammaystirnayn. Jawaab gaaban, wareejin guuldaraystay iyo bog xannibaad buuxa ayaa u baahan sharraxaad kala duwan.

Marka CURLOPT_RETURNTRANSFER lagu daro handle-ka hore loo habeeyay:

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

Soo ururi qiyamkan ka hor inta aadan sii dayn handle-ka. Isbarbardhigga adag wuxuu kala soocaa guuldarada wareejinta iyo jirka guulaystay sida xarriiq madhan ama “0”. Xaaladaha khaladka HTTP si otomaatig ah maaha guuldarro curl_exec, sidaas darteed fasir xaaladda sidoo kale.

Tirakoobka la soo dejiyay ma daro madaxyada. Qiimaha la caddeeyay wuxuu ka yimaaddaa Content-Length wuxuuna yahay -1 marka cabbirka aan la aqoon. Jawaabtu waxay si sharci ah uga tagi kartaa Content-Length; qiime aan la aqoon maaha ogaanshaha fayl la jaray.

Fasiraadda otomaatiga ah ee macluumaadka waxay soo bandhigtaa farqi kale. Content-Length wuxuu badanaa qeexaa matalaadda la isku duubay, halka xarriiqda PHP ay yeelan karto bayt la furey. Isbarbardhigga strlen($body) iyo madaxaas wuxuu isbarbardhigaa matalaado kala duwan.

cURL wuxuu soo sheegi karaa CURLE_PARTIAL_FILE marka wareejintu jabiso cabbir la filayay. Kaydi khaladkaas halkii aad ka dhigi lahayd wax soo saar aan madhanayn mid guul ah. Taa beddelkeeda, wareejin guulaysatay oo leh jawaab 200 yar ayaa laga yaabaa inay tahay bogga dhan ee isha ama proxy-ga doortay inuu soo celiyo.

Ugu dambayntii hubi macluumaadka loo baahan yahay. HTML-ka cURL keeno ma fuliyo JavaScript si uu bogga u buuxiyo. Qaybaha browser-ku muujiyo waxaa laga yaabaa inaysan ku jirin jawaabta asalka ah xitaa marka bayt kasta oo la diray uu yimid.

Maqaallo la xiriira