Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何运行cURL一次,在循环中检查域可用性?请帮我修改代码_Php_Javascript_Performance_Curl - Fatal编程技术网

Php 如何运行cURL一次,在循环中检查域可用性?请帮我修改代码

Php 如何运行cURL一次,在循环中检查域可用性?请帮我修改代码,php,javascript,performance,curl,Php,Javascript,Performance,Curl,我所拥有的是一个域可用性检查,它连接到一个API并从$tmp输出“可用:和不可用”。下面的代码将只检查一次可用性 我想多次(可能在循环中?)检查域的可用性,而不必每次都运行restart cURL connection(因为这会浪费时间) 我只是不知道如何连接到cURL并运行循环(通过API进行检查) 当前代码 <?php function GetCurlPage ($pageSpec) { $ch = curl_init($pageSpec);

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

我想多次(可能在循环中?)检查域的可用性,而不必每次都运行restart cURL connection(因为这会浪费时间)

我只是不知道如何连接到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");

?>

我想您正在寻找记录的回调选项。例如-->CURLOPT_SEEKFUNCTION

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