PHP实现带重试功能的curl连接示例
這篇文章主要介紹了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;
}
來源:https://www.jb51.net/article/89466.htm
總結
以上是生活随笔為你收集整理的PHP实现带重试功能的curl连接示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雪诗歌作文50字(雪诗歌)
- 下一篇: Nginx核心要领五:worker_pr