5

YouTube php Zend API ライブラリを使用しています。

この API では、最初に一時/確認コードを取得するためのリクエストを送信します。

次に、アクセストークンを取得するリクエスト。

この後、ユーザー情報を取得したいので、別のリクエストを行います

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

現在のユーザーの場合、userId で URL を返します

最後に、その URL から xml 形式のユーザー情報を取得します。

私はこれらの非常に多くの要求にうんざりしています。また、多くの時間がかかります。

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 に答える