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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP防盗链代码实例
Aug 27 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
Jul 25 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
Feb 06 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
深入分析PHP设计模式
Jun 15 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
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
PHP中的事务使用实例
2015/05/26 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
package.json各个属性说明详解
2020/03/11 Javascript
python3实现读取chrome浏览器cookie
2016/06/19 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
2017/11/09 Python
Python实现求数列和的方法示例
2018/01/12 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
this关键字的作用
2016/01/30 面试题
自考毕业生自我鉴定
2013/11/04 职场文书
会计助理的岗位职责
2013/11/29 职场文书
中专生自我鉴定书范文
2013/12/28 职场文书
初中物理教学反思
2014/01/14 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
大学生个人学年总结
2015/02/15 职场文书
经理岗位职责范本
2015/04/15 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
python ConfigParser库的使用及遇到的坑
2022/02/12 Python