在php脚本中,我正在为不同的URL做很多不同的cUrl GET请求(一百个).
从curl_init重用相同的curl句柄会改善性能还是与cURL请求的响应时间相比可忽略不计?
我问的是,因为在当前的架构中,保持相同的cUrl句柄并不容易.
谢谢,
本杰明
我有一个函数,使用cURL多次调用3个不同的API .每个API的结果都会传递给嵌套循环中调用的下一个API,因此cURL当前打开并关闭了500多次.
我是否应该为整个功能打开cURL,或者可以在一个功能中多次打开和关闭它?
我在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立即关闭连接.