5

我正在使用 youtube php Zend API 库。

在此 API 中,我首先发送请求以获取临时/确认代码。

然后请求获取访问令牌。

在此之后我想获取用户信息然后另一个请求

https://gdata.youtube.com/feeds/api/users/default  

对于当前用户它返回带有 userId 的 url

然后最后我从那个 xml 格式的 url 获取用户信息。

我受够了这些如此多的请求,这也需要很多时间。

有没有另一种方法可以通过减少curl/ajax请求的数量来获得这些东西。

4

1 回答 1

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);
于 2012-12-18T10:13:15.580 回答