هل هذه هي أفضل طريقة لجعل طلب API باستخدام PHP الضفيرة؟
-
05-07-2019 - |
سؤال
ولدي موقع يحتوي على API بسيط والتي يمكن استخدامها عبر HTTP. وأود أن الاستفادة من API وتقديم بيانات حول 1000-1500 مرات في وقت واحد. هنا هو API الخاصة: http://api.jum.name/
ولقد شيدت URL إلى تقديم تقرير ولكن الآن وأنا أتساءل ما هو أفضل وسيلة لجعل هذه الطلبات GET 1000-1500 API؟ هنا هو تنفيذ PHP الضفيرة كنت أفكر في:
$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);
هل لي أن إغلاق الاتصال الضفيرة في كل مرة أقوم بإجراء تقديم؟ هل يمكنني إعادة كتابة ما سبق بطريقة أفضل من شأنها أن تجعل هذه التقارير 1000-1500 أسرع؟
وشكر جميع
المحلول
وحليقة PHP، وبشكل افتراضي، إعادة استعمال اتصال لعدة استدعاءات إلى curl_exec ().
وحتى في هذه الحالة، عليك فقط حيلة مقبض حليقة، الذي حصلت عليه من قبل curl_init وإذا كان URL مباريات بين المكالمات إلى curl_exec ()، فإنه سيتم إرسال "اتصال: المحافظة على الحياة". رأسية وإعادة الاتصال
لا تغلق الاتصال وعدم تعيين CURLOPT_FORBID_REUSE
وكما نرى هنا:
نصائح أخرى
إذا كان لديك الوصول إلى فب 5.2+ سأكون في غاية يوصي curl_multi فب ل.
وهذا يسمح لك لمعالجة عدة طلبات حليقة في موازاة ذلك، وهو في هذه الحالة سيكون بالتأكيد في متناول اليدين.
وثائق ذات صلة: http://us3.php.net/manual/ EN / ref.curl.php
على سبيل المثال استخدام: http://www.somacon.com/p537.php