这里是我的代码使用PHP cURL可以获得部分响应吗?
$url = "partial_response.php";
$sac_curl = curl_init();
curl_setopt($sac_curl, CURLOPT_HTTPGET, true);
curl_setopt($sac_curl, CURLOPT_URL, $url);
curl_setopt($sac_curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($sac_curl, CURLOPT_HEADER, false);
curl_setopt($sac_curl, CURLOPT_TIMEOUT, 11);
$resp = curl_exec($sac_curl);
curl_close($sac_curl);
echo $resp;
Partial_response.php
header('Content-type: text/html; charset=utf-8');
echo 'Job waiting ...<br />';
for($i = 0 ; $i < 10 ; $i++)
{
echo $i . '<br/>';
flush();
ob_flush();
sleep(1);
}
echo 'End ...<br/>';
从有关代码我试图从partial_response.php部分缓解。我想要的是,我需要curl来单独返回“Job waiting ..”,而不是等待partial_response.php完成循环并返回整个数据。所以当我将CURLOPT_TIMEOUT降低到11以下时,我根本没有得到任何回应。请澄清我的疑问。 在此先感谢。
我想这个问题并不是在*得到*响应的结尾,而是在*发送它的结尾。我认为,自从你的'Partial_response.php'在执行结束时发送数据以来,你永远不会以低超时获得它(它不会达到它的结束,所以数据不会被发送)。单独尝试'flush()'函数或与'CURLOPT_WRITEFUNCTION'一起接收部分输出。 – Ranty 2013-05-14 22:52:01