2009-06-16 3 views
1

私は、http経由で使用できるシンプルなAPIを持つサイトを持っています。私は、APIを利用して、約1000〜1500回のデータを一度に送信したいと考えています。 http://api.jum.name/これはPHP CURLを使用してAPIリクエストを行う最善の方法ですか?

提出する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_initが得たcurlハンドルを無効にし、curl_exec()の呼び出しの間にURLが一致すると、 "Connection:keep-alive"ヘッダーを送信して接続を再利用します。

接続を閉じないでくださいとCURLOPT_FORBID_REUSE

を設定していないにもここを参照してください:

Persistent/keepalive HTTP with the PHP Curl library?

3

あなたがPHPへのアクセス権を持っている場合は5.2+私は非常にPHPのcurl_multiをお勧めします。

これにより、いくつかのカール要求を並行して処理することができます。この場合、間違いなく便利です。

関連資料:http://us3.php.net/manual/en/ref.curl.php
使用例:http://www.somacon.com/p537.php