這裏是我的代碼使用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