这是我的代码
$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/>';
从about代码我试图从partial_response.php获得部分响应。我想要的是,我需要curl单独返回“Job waiting ..”而不是等待partial_response.php来完成循环并返回整个数据。因此,当我将CURLOPT_TIMEOUT降低到11以下时,我根本得不到任何响应。请澄清我的疑问。 提前谢谢。
答案 0 :(得分:3)
我后来意识到cURL不能做我想做的事情,我使用了stream_context_get_options
实现我想要的。这是http://www.php.net/manual/en/function.stream-context-get-options.php。
答案 1 :(得分:1)
curl_exec()
将始终 - 无论如何 - 在请求完成之前执行)