2012-12-18 16 views
5

Ich benutze Youtube PHP Zend API-Bibliothek.gibt es eine bessere Möglichkeit, Youtube PHP API zu verwenden

In dieser API zuerst sende ich Anfrage, um den vorläufigen/Bestätigungscode zu erhalten.

Dann eine Anfrage, um das Zugriffs-Token zu erhalten.

Danach möchte ich die Benutzerinformationen holen, dann macht eine weitere Anforderung an

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

für den aktuellen Benutzer Es gibt die URL mit userId

Dann endlich ich den Benutzer Informationen von dieser URL zu erhalten, die in XML-Form.

Ich habe genug von diesen Anfragen, es braucht auch viel Zeit.

Gibt es eine andere Möglichkeit, diese Sache zu bekommen, indem Sie die Anzahl der curl/ajax Anfragen reduzieren.

+0

Ist das Problem, dass Sie mehrere Benutzer abfragen müssen und es zu viel Zeit braucht? – Ranty

+0

ja ich habe es in Frage gestellt –

Antwort

1

Sie können curl_multi_* verwenden, um Anfragen für verschiedene Benutzer parallel auszuführen. Es wird nicht den Prozess für jeden einzelnen Benutzer beschleunigen, aber da Sie 10-30 oder mehr Anfragen parallel ausführen können, wird es den gesamten Deal beschleunigen.

Die einzige Komplikation ist, dass Sie separate Cookie-Datei für jede Anfrage benötigen. Hier ist ein Beispielcode für den Einstieg:

$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); 
Verwandte Themen