我知道如何在cURL中设置超时但我想提醒用户请求超时。
我创建了一个ajax脚本,允许用户从各个保险站点请求数据并聚合到列表中。如果任何保险网站在一定时间内没有响应,我想提醒用户目前该公司的当前报价不可用。
cURL是否会返回任何信号以指示超时?
答案 0 :(得分:14)
curl_errno()
将返回28。有关其他错误代码,请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html。
答案 1 :(得分:2)
或者另一个可以覆盖更多案例的解决方案(服务器超时,服务器错误地显示空白页面)是检查你的get_url函数结果是否与“”或“FALSE”不同。
get_url函数示例:
function get_url($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$tmp = curl_exec($ch);
curl_close($ch);
return $tmp;
}