如何在PHP中管理多个API调用?

时间:2015-06-18 16:41:24

标签: php

我想管理多个API调用。我有一个数据数组,并且在调用API时使用了数组的每个元素,并且回显了响应。该架构遵循以下方式:

<?php
    ini_set('max_execution_time', 300);//Did as loop takes >30s
    require_once 'other/VirusTotalApiV2.php';
    $obj= new VirusTotalAPIV2("abc");//Forming object of API
    $handle=fopen("foo.txt","r"); // Obtaining the elements    

    while($read=fgets($handle))//Each line stores an element
    {
    $counter=0;
    $report=$obj->getFileReport($read);//Calling API function
    //var_dump($report);
    echo "<table>
        <tr>
        <td>Antivirus</td>
        <td>Result</td>
        <td>Update</td>
        </tr>";
    foreach($report->scans as $key=>$value){
        echo "<tr>";
        echo "<td>".$key."</td>";
        echo "<td>".result($value->result)."</td>";
        echo "<td>".$value->update."</td>";
        echo "</tr>";
        $counter++;
    }
}
echo $counter;
fclose($handle);
function result($input){
    if($input==null)
    {
        return "No Issue";
    }
}

我可以提高当前呼叫的效率,最终输出在10s-15s之后接收(一次)并且直到该时间页继续加载。 请提出一些更好的解决方法。

1 个答案:

答案 0 :(得分:0)

不确定HTTP客户端正在使用中,但假设它是cURL的包装器,您可以查看curl_multi

  

允许异步处理多个cURL句柄。