PHP实现带重试功能的curl连接示例


Posted in PHP onJuly 28, 2016

本文实例讲述了PHP实现带重试功能的curl连接方法。分享给大家供大家参考,具体如下:

/**
 * @param string  $url 访问链接
 * @param string $target 需要重试的标准: 返回结果中是否包含$target字符串
 * @param int $retry 重试次数, 默认3次
 * @param int $sleep 重试间隔时间, 默认1s
 * @return bool|mixed curl返回结果
 * desc 有重试功能的curlget
 */
function curlGetRetry($url, $target, $retry=3, $sleep = 1)
{
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 检查证书中是否设置域名(为0也可以,就是连域名存在与否都不验证了)
  $output = curl_exec($ch);
  while((strpos($jsonOutput, $target) === FALSE) && $retry--){ //检查$targe是否存在
    sleep($sleep); //阻塞1s
    $output = curl_exec($ch);
  }
  curl_close($ch);
  return $output;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
PHP网站备份程序代码分享
Jun 10 PHP
PHP遍历数组的几种方法
Mar 22 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
Jul 02 PHP
Yii核心验证器api详解
Nov 23 PHP
利用PHP生成CSV文件简单示例
Dec 21 PHP
php中简单的对称加密算法实现
Jan 05 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 #PHP
php倒计时出现-0情况的解决方法
Jul 28 #PHP
24条货真价实的PHP代码优化技巧
Jul 28 #PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 #PHP
php字符串操作针对负值的判断分析
Jul 28 #PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 #PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 #PHP
You might like
php的正则处理函数总结分析
2008/06/20 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
使用Python操作MySQL的一些基本方法
2015/08/16 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
Django 多环境配置详解
2019/05/14 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
求职简历自荐信范文
2013/10/21 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
软件售后服务承诺书
2014/05/21 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
债务授权委托书范本
2014/10/17 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
创业计划书之网吧
2019/10/10 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python