首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有OVH包装器的多个API请求

带有OVH包装器的多个API请求
EN

Stack Overflow用户
提问于 2016-07-12 11:44:09
回答 1查看 363关注 0票数 1

我正在尝试创建一个web接口,使用正式的PHP包装来与OVH的API交互。

首先我得到我的IP列表:

代码语言:javascript
复制
$ips = $ovh->get('/ip');

但是,对于每个IP地址,我想获取相关的信息并将它们放在一个表中,所以我这样做了:

代码语言:javascript
复制
foreach ($ips as $ip) {
    $ip_infos = $ovh->get('/ip/' . $ip_api);
}

它能工作,但是对于每一个电话,我都得等上一个电话回来。因此,由于~100 IP,加载整个页面需要30~40秒的时间。

是否有一种方法只发送一个大请求,而不是使用OVH包装器发送许多小请求?或者做多线程?任何能大大加速请求的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-15 21:59:37

除非您的PHP引擎是使用"ZTS“(Zend Thread Safety)构建的,并且您已经安装了p线程扩展,否则这不能使用唯一的正式PHP包装器来实现。如果使用普通PHP是必需的,则可以修补包装器以使用Curl。有关示例,请参见http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/

另一种方法是使用混合方法使用客户端JS。

  1. PHP返回一个带有IP列表的页面
  2. JS异步请求IPs的详细信息。

这将有效地触发多个并行请求,并改善用户体验。实际上,这就是OVH客户界面在引擎盖下所做的工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38327978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档