【问题标题】:cURL Checking for TimeoutcURL 检查超时
【发布时间】:2011-06-27 14:07:35
【问题描述】:

我知道如何在 cURL 中设置超时,但我想提醒用户请求已超时。

我创建了一个 ajax 脚本,允许用户从各种保险网站请求数据并汇总到一个列表中。如果任何保险网站未能在特定时间内做出响应,我想提醒用户该公司的当前报价目前不可用。

cURL 是否返回任何信息来表示超时?

【问题讨论】:

  • 我不知道,但你检查过curl_error() 在这种情况下的输出吗?
  • print_r(curl_getinfo($ch))

标签: php curl timeout


【解决方案1】:

curl_errno() 如果操作超时,则返回 28。其他错误代码见http://curl.haxx.se/libcurl/c/libcurl-errors.html

【讨论】:

    【解决方案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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2012-11-27
      • 1970-01-01
      相关资源
      最近更新 更多