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
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
php绘制一个矩形的方法
Jan 24 PHP
php实现上传图片文件代码
Jul 19 PHP
php简单计算年龄的方法(周岁与虚岁)
Dec 06 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
May 23 PHP
thinkphp实现附件上传功能
May 26 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中如何防止表单的重复提交
2013/08/02 PHP
ThinkPHP模型详解
2015/07/27 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
php错误日志简单配置方法
2016/07/11 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
layui实现三级联动效果
2019/07/26 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
js验证密码强度解析
2020/03/18 Javascript
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
python入门教程之识别验证码
2017/03/04 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
python两个list[]相加的实现方法
2020/09/23 Python
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
高级编程求职信模板
2014/02/16 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
IT工程师岗位职责
2014/07/04 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
HTML+JS实现在线朗读器
2022/02/15 Javascript