zoukankan      html  css  js  c++  java
  • PHP带重试功能的curl

    2016年1月13日 10:48:10 星期三

     1 /**
     2  * @param string   $url 访问链接
     3  * @param string $target 需要重试的标准: 返回结果中是否包含$target字符串
     4  * @param int $retry 重试次数, 默认3次
     5  * @param int $sleep 重试间隔时间, 默认1s
     6  * @return bool|mixed curl返回结果
     7  * desc 有重试功能的curlget
     8  */
     9 function curlGetRetry($url, $target, $retry=3, $sleep = 1)
    10 {
    11     $ch = curl_init();
    12     curl_setopt($ch, CURLOPT_URL, $url);
    13     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    14     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    15     curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    16     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
    17     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 检查证书中是否设置域名(为0也可以,就是连域名存在与否都不验证了)
    18 
    19     $output = curl_exec($ch);
    20 
    21     while((strpos($jsonOutput, $target) === FALSE) && $retry--){ //检查$targe是否存在
    22         sleep($sleep); //阻塞1s
    23         $output = curl_exec($ch);
    24     }
    25     curl_close($ch);
    26     return $output;
    27 }
  • 相关阅读:
    CodeForces 587A
    矩阵快速幂模板
    LCA模板
    Codeforces Round #226 (Div. 2 )
    Codeforces Round #225 (Div. 2)
    SGU132
    SRM 599 DIV 2
    POJ1038
    SGU223
    POJ1185
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/5126538.html
Copyright © 2011-2022 走看看