一次调用多个API

时间:2014-01-03 16:15:21

标签: php curl

我正在使用PHP / cURL一次发送15个API请求(运费报价)。每个API都有自己的文件,我使用include('example.php')将文件包含在主请求页面中。但是,正如你们大多数人已经知道的那样,PHP逐行进行,而这又需要很长时间才能得到所有响应。有没有办法可以包含这些文件并让它们同时运行?我知道这对PHP来说并不是真的可行,所以我想知道是否还有另一种选择,我可以在PHP的另一端使用另一种编程语言来实现这一目标。

3 个答案:

答案 0 :(得分:1)

它是一个让你头脑发热但是查找curl multi

的野兽

它可以一次性发出多个卷曲请求。我成功(最终)让它一次发出200个请求。基本上你打包了X请求,发送curl_multi,它会异步发出所有请求。然后循环等待状态告诉您已收到所有回复并继续处理它们。 (非常基本的描述)

答案 1 :(得分:0)

产生15个线程。最简单的方法是启动15个请求。

您可以通过关闭连接来使PHP代理请求无阻塞。

要关闭连接,请执行以下操作:

ignore_user_abort(true);
header("Content-Length: 0");
header("Connection: Close");
flush();
session_write_close();
// do your API call here and report back to a database or some other means
// you can't return or output anything because the other end isn't listening any more

答案 2 :(得分:0)