Tosaigh le toradh cURL nuair a fhéachann leathanach a íoslódáladh trí sheachfhreastalaí neamhiomlán. Teastaíonn mínithe éagsúla ó fhreagra gearr, ó aistriú teipthe agus ó leathanach blocála iomlán.

Agus CURLOPT_RETURNTRANSFER cumasaithe ar an láimhseáil chumraithe atá ann cheana:

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

Bailigh na luachanna seo sula scaoileann tú an láimhseáil. Déanann an chomparáid dhian idirdhealú idir teip aistrithe agus comhlachtaí rathúla ar nós teaghrán folamh nó “0”. Ní teipeanna curl_exec go huathoibríoch iad stádais earráide HTTP, mar sin léirigh an stádas freisin.

Ní chuimsíonn an t-áiritheoir íoslódála ceanntásca. Tagann an luach dearbhaithe ó Content-Length agus is -1 é nuair nach eol an méid sin. Is féidir le freagra Content-Length a fhágáil ar lár go dlisteanach; ní diagnóis ar chomhad gearrtha é luach anaithnid.

Cuireann díchódú uathoibríoch ábhair idirdhealú eile leis. Is gnách go ndéanann Content-Length cur síos ar an léiriú comhbhrúite, agus féadfaidh na bearta dí-chomhbhrúite a bheith sa teaghrán PHP. Má chuirtear strlen($body) i gcomparáid leis an gceanntásc sin, tá léirithe éagsúla á gcomparáid.

Féadfaidh cURL CURLE_PARTIAL_FILE a thuairisciú nuair a sháraíonn an t-aistriú méid a bhfuiltear ag súil leis. Caomhnaigh an earráid sin seachas aon aschur neamhfholamh a mheas mar rath. Os a choinne sin, d’fhéadfadh aistriú rathúil le freagra beag 200 a bheith ina leathanach iomlán a roghnaigh an bunfhoinse nó an seachfhreastalaí a thabhairt ar ais.

Ar deireadh seiceáil an t-ábhar riachtanach. Ní rithfidh HTML a fhaightear le cURL JavaScript chun an leathanach a líonadh. Féadfaidh ranna a thaispeánann an brabhsálaí a bheith as láthair ón bhfreagra bunaidh fiú nuair a shroich gach beart a aistríodh.

Ailt ghaolmhara