这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了 PHP 实现带重试功能的 curl 连接方法, 结合实例形式分析了 php 使用 curl 实现重复连接的方法, 需要的朋友可以参考下
本文实例讲述了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0730/343153.html