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,$sleep=1 ){
    $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)){
    sleep($sleep); //阻塞1s
    $result = curl_exec($curl);
    }

    curl_close($curl);
    }

    return $result;
    }
  • 相关阅读:
    MGR
    复制参数优化
    mysql复制
    sysbench
    mysql 用户及权限
    MySQL多实例安装
    PHP常用数组函数
    AJAX传递数据的两种编码x-www-form-urlencoded与json的区别
    使用PHP操作文件
    var_dump和var_export区别
  • 原文地址:https://www.cnblogs.com/zuochuang/p/6398921.html
Copyright © 2011-2022 走看看