我正在使用youtube php Zend API Library。
在此API中,我首先发送请求以获取临时/确认代码。
然后是获取访问令牌的请求。
在此之后,我想获取用户信息,然后另一个请求进入
https://gdata.youtube.com/feeds/api/users/default
当前用户的它返回带有userId
的网址然后我终于从该网址获取xml格式的用户信息。
我厌倦了这么多的请求,也花了很多时间。
是否有另一种方法可以通过减少curl/ajax
请求的数量来获取这些内容。
答案 0 :(得分:1)
您可以使用curl_multi_*
并行处理对不同用户的请求。它不会加速每个用户的流程,但由于你可以并行执行10-30个或更多请求,它将加快整个交易。
唯一的复杂因素是每个请求都需要单独的cookie文件。以下是启动您的示例代码:
$chs = array();
$cmh = curl_multi_init();
for ($t = 0; $t < $tc; $t++)
{
$chs[$t] = curl_init();
// set $chs[$t] options
curl_multi_add_handle($cmh, $chs[$t]);
}
$running=null;
do {
curl_multi_exec($cmh, $running);
} while ($running > 0);
for ($t = 0; $t < $tc; $t++)
{
$contents[$t] = curl_multi_getcontent($chs[$t]);
// work with $contencts[$t]
curl_multi_remove_handle($cmh, $chs[$t]);
curl_close($chs[$t]);
}
curl_multi_close($cmh);