【问题标题】:How to run cURL once, checking domain availability in a loop? Help fixing code please如何运行 cURL 一次,循环检查域可用性?请帮助修复代码
【发布时间】:2011-05-27 18:52:12
【问题描述】:

我有一个域可用性检查,它连接到一个 API 并从 $tmp 输出“可用:和不可用:”。下面的代码只会检查可用性一次。

我想多次检查域的可用性(可能在循环中?),不必每次都重新启动 cURL 连接(因为它浪费时间)强>。

我只是不知道如何连接到 cURL 并运行循环(通过 API 进行检查)。

当前代码

<?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");

?>

【问题讨论】:

  • 真的不确定我是否正确地解决了您的问题。但是没有“ connecting once to cURL ”。 Curl 是一个用于发出请求的 API(HTTP 是一项副业)。它检索每个请求一页。没有持久连接或恒定数据流(除非支持 WebSocket)可用于多个请求。
  • 好的,问题是这样的;我需要上面的脚本多次检查 $url ($domain+$suffixes) 中指定的域的可用性,即:在一个循环中。我可以在循环中运行脚本的底部(在 cURL 函数之外),但如果我这样做,curl 会被初始化并重新执行。这在可用性检查之间浪费了 300 毫秒到 1 秒。我可以做些什么来减少执行循环的时间以及可以将循环放置在哪里?希望这会有所帮助,对不起。谢谢!

标签: php javascript performance curl


【解决方案1】:

link text我认为您在记录回调选项之后。例如 --> CURLOPT_SEEKFUNCTION

【讨论】:

  • 不知道怎么用,抱歉。请参阅我上面对@mario 的评论。
猜你喜欢
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2019-10-31
  • 2013-01-23
  • 2011-07-24
  • 1970-01-01
相关资源
最近更新 更多