我在PHP中为cURL创建了一个包装函数.它的简化版本如下所示:
function curl_get_contents($url, $try = 1) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '1');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, '1');
// Execute the curl session
$output = curl_exec($ch);
if ($output === FALSE) {
if ($try == 1) { //Try again
return $this->curl_get_contents($url, 2);
} else {
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,如果失败,我会强制重试该函数.我需要跑curl_close()吗?PHP是否关闭脚本末尾的所有句柄?
UPDATE
链接的问题在答案中非常含糊,并且不支持数据.我真的很感激基于一个分析器的答案,该分析器显示PHP立即关闭连接.