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 相关文章推荐
浅析PHP水印技术
Feb 14 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
使用php 获取时间今天明天昨天时间戳的详解
Jun 20 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
PHP图片上传代码
Nov 04 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
Symfony2学习笔记之模板用法详解
Mar 17 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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
yii实现级联下拉菜单的方法
2014/07/31 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
英语专业学子个人的自我评价
2013/10/02 职场文书
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
军训自我鉴定
2013/12/14 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
小学班级特色活动方案
2014/08/31 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
财务统计员岗位职责
2015/04/14 职场文书
js之ajax文件上传
2021/05/13 Javascript
Python如何配置环境变量详解
2021/05/18 Python