开发者社区> mydcool> 正文

PHP带重试功能的curl

简介: 2016年1月13日 10:48:10 星期三 1 /** 2 * @param string $url 访问链接 3 * @param string $target 需要重试的标准: 返回结果中是否包含$target字符串 4 * @param int $retry ...
+关注继续查看

2016年1月13日 10:48:10 星期三

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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【解决方案】PHP使用CURL请求时,遇到name lookup timed out 如何解决
【解决方案】PHP使用CURL请求时,遇到name lookup timed out 如何解决
71 0
php 使用 curl 库进行 ssl 双向认证
php 使用 curl 库进行 ssl 双向认证
132 0
自己写的php curl库实现整站克隆
自己写的php curl库实现整站克隆
34 0
php使用CURL模拟POST请求函数
php使用CURL模拟POST请求函数
51 0
php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件
php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件
84 0
PHP:curl发送GET、POST请求
PHP:curl发送GET、POST请求
75 0
【PHP】curl请求
【PHP】curl请求
132 0
PHP curl报错"Problem (2) in the Chunked-Encoded data"解决方案
PHP curl报错"Problem (2) in the Chunked-Encoded data"解决方案
160 0
php的file_get_contents和curl差距
php的file_get_contents和curl差距
89 0
PHP curl 得到返回值且不显示在页面上
PHP curl 得到返回值且不显示在页面上
267 0
+关注
mydcool
php相关专家
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
PHP 2017.北京 全球开发者大会——高可用的PHP
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多