2009-06-16 3 views
1

У меня есть сайт, который имеет простой API, который можно использовать через http. Я хочу использовать API и отправлять данные за 1000-1500 раз за один раз. Вот их API: http://api.jum.name/Это лучший способ сделать запрос API с помощью PHP CURL?

Я создал URL-адрес, чтобы сделать представление, но теперь мне интересно, что является лучшим способом сделать эти 1000-1500 API-запросов GET? Вот реализация PHP CURL Я думал:

$add = 'http://www.mysite.com/3rdparty/API/api.php?fn=post&username=test&password=tester&url=http://google.com&category=21&title=story a&content=content text&tags=Season,news'; 
curl_setopt ($ch, CURLOPT_URL, "$add"); 
curl_setopt ($ch, CURLOPT_POST, 0); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'files/cookie.txt'); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$postdata = curl_exec ($ch); 

Должен ли я закрыть CURL соединение каждый раз, когда я делаю представление? Могу ли я переписать выше выше, чтобы сделать эти 1000-1500 представлений более быстрыми?

Спасибо всем

ответ

1

завиток в PHP по умолчанию, повторно соединение для нескольких вызовов к curl_exec().

Итак, в этом случае вы просто замаскируете ручку curl, вы получите curl_init, и если URL-адрес совпадает между вызовами curl_exec(), он отправит заголовок «Connection: keep-alive» и повторное использование этого соединения.

Не закрывать соединение и не установлено CURLOPT_FORBID_REUSE

также посмотреть здесь:

Persistent/keepalive HTTP with the PHP Curl library?

3

Если у вас есть доступ к PHP 5.2+ Я очень рекомендую curl_multi PHP.

Это позволяет обрабатывать несколько запросов на завивки параллельно, что в данном случае обязательно пригодится.

Связанная документация: http://us3.php.net/manual/en/ref.curl.php
Пример использования: http://www.somacon.com/p537.php

Смежные вопросы