Maison  >  Article  >  développement back-end  >  PHP implémente un exemple de connexion curl avec la fonction de nouvelle tentative

PHP implémente un exemple de connexion curl avec la fonction de nouvelle tentative

墨辰丷
墨辰丷original
2018-06-01 16:11:131813parcourir

Cet article présente principalement la méthode de connexion curl avec la fonction de nouvelle tentative en PHP et analyse la méthode PHP utilisant curl pour implémenter des connexions répétées sous forme d'exemples. Les amis dans le besoin peuvent se référer à

Les détails sont. comme suit :

/**
 * @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;
}

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il pourra être utile à tout le monde étude.

Recommandations associées :

phpExemples de technologies d'interface et explications détaillées avec images et textes

phpExplication détaillée des méthodes abstraites et des instances de classe abstraites

Utilisation de mots-clés static et const en php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn