Ar gearradh freagra cURL PHP?
Seiceáil toradh aistrithe cURL, stádas an fhreagra agus léiriú an chomhlachta sula gcuireann tú an méid íoslódáilte i gcomparáid le Content-Length.
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.