zoukankan      html  css  js  c++  java
  • 一个带重试次数的curl 函数

    <?php
    /**
     * [curl 带重试次数]
     * @param  [type]  $url     [访问的url]
     * @param  [type]  $post    [$POST参数]
     * @param  integer $retries [curl重试次数]
     * @return [type]           [description]
     */
    function curl($url, $post = null, $retries = 3){
            $curl = curl_init($url);
    
            if(is_resource($curl) === true){
                    curl_setopt($curl, CURLOPT_FAILONERROR, true);
                    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
                    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
                    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    
                    if(isset($post) === true){
                            curl_setopt($curl, CURLOPT_POST, true);
                            curl_setopt($curl, CURLOPT_POSTFIELDS, (is_array($post) === true) ? http_build_query($post, "", "&"): $post);
                    }
    
                    $result = false;
    
                    while(($result === false) && (--$retries > 0)){
                            $result = curl_exec($curl);
                    }
    
                    curl_close($curl);
            }
    
            return $result;
    }
    
  • 相关阅读:
    深入理解JavaScript系列(28):设计模式之工厂模式
    创建指定数量的随机字符串
    VerifyCodeUtil.java
    XmlUtils.java
    MD5
    JacksonUtils.java
    Dom4jUtils.java
    DateFormatUtil.java
    CommonUtils.java
    CacheManagerUtils.java
  • 原文地址:https://www.cnblogs.com/keygle/p/3217248.html
Copyright © 2011-2022 走看看