Yardım sabitleme php / API / curl kodu lütfen

0 Cevap php

Ne yerde var, bir etki alanı kullanılabilirlik bir API ve çıkışlara kadar bağlanır çek, bir ": ve Unavailable: Mevcut" $ tmp den. Kodunun altına ths sadece durumunu KEZ kontrol edecektir.

Ben etki kullanılabilirliğini, birden çok kez kontrol etmek istiyorum (muhtemelen bir döngü?), without having to run restart cURL connection everytime (as it wastes time - 300ms to 1s per query) .

Ben sadece bir kez Curl ve döngü (API aracılığıyla kontrol yapıyor) çalıştırmak için bağlayabilirsiniz nasıl bilmiyorum. Kod çok takdir ayarlayarak Yardım! Çıktı "/ mevcut değil mevcut" için gereken süreyi en aza indirmek ve kontrolleri döngü anahtarıdır.

Teşekkür ederim.

Current code

<?php

    function GetCurlPage ($pageSpec)
    {
      $ch = curl_init($pageSpec);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
      $tmp = curl_exec ($ch);
      curl_close ($ch);
      $tmp = preg_replace('/(?s)<meta http-equiv="Expires"[^>]*>/i', '', $tmp);
      $tmp = explode('<br>', $tmp);
      echo $tmp[0];
      echo "<br>";
      echo $tmp[1];
      echo "<br>";
      return $tmp;
    }

$returnUrl = "http://www.mysite.com.au/check.php";
$url = "https://www.apisite.com.au/availability/check.php?domain=testdomain&suffixes=.com.au";
$output = GetCurlPage("$url");

?>

@Marc B

    function getCurlPage($pageSpec) {
if (is_null($ch)) {
    $ch = curl_init($pageSpec);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
} else {
    curl_setopt($ch, CURLOPT_URL, $pageSpec);
}
  while ($i < 5) {
  $tmp = curl_exec ($ch);
  //curl_close ($ch);
  $tmp = preg_replace('/(?s)<meta http-equiv="Expires"[^>]*>/i', '', $tmp);
  $tmp = explode('<br>', $tmp);
  echo $tmp[0];
  echo "<br>";
  echo $tmp[1];
  echo "<br>";
  echo udate('H:i:s:u');
  echo "<br><br>";
  $i++;
  }
      return $tmp;
}

0 Cevap