Dieser Artikel stellt hauptsächlich die kontrollierbare Parallelität und den asynchronen Betrieb der PHP-Curl-Stapelverarbeitung vor. Jetzt kann ich ihn mit Ihnen teilen.
Die Beispiele in diesem Artikel Die beschriebene PHP-Curl-Stapelverarbeitung implementiert steuerbare gleichzeitige asynchrone Vorgänge. Geben Sie es als Referenz an alle weiter. Die Details lauten wie folgt:
Normalerweise wird cURL in PHP blockierend ausgeführt, was bedeutet, dass Sie nach dem Erstellen einer cURL-Anfrage warten müssen, bis sie erfolgreich ausgeführt wird aus, bevor Sie die nächste Anfrage ausführen: API CURL
wird im Allgemeinen für den Schnittstellenzugriff in tatsächlichen Projekten oder beim Schreiben Ihrer eigenen Gadgets (z. B. Nachrichtenaggregation, Überwachung von Rohstoffpreisen, Preisvergleich) bevorzugt Sie müssen Daten von einer Website oder einer API-Schnittstelle eines Drittanbieters abrufen, um die Leistung zu verbessern. Sie können die von cURL bereitgestellten curl_multi_*
-Familienfunktionen verwenden, um eine einfache Parallelität zu erreichen Funktioniert gut, wenn es verwendet wird, hat keine Nebenwirkungen und die Anzahl der Parallelitäten ist kontrollierbar. Lassen Sie Ihrer Fantasie freien Lauf
<?php include 'curl.class.php'; function callback($response, $info, $error, $request) { echo 'response:<br>'; print_r($response); echo '<br>' . date("Y-m-d H:i:s") . ' <br>'; echo '<br>' . str_repeat("-", 100) . '<br>'; } $USER_COOKIE = (!empty($_REQUEST['cookie'])) ? $_REQUEST['cookie'] : file_get_contents("cookie.txt"); $curl = new Curl ("callback"); $data = array( array( 'url' => 'http://dyactive2.vip.xunlei.com/com_sign/?game=qmr&type=rec_gametime&referfrom=&rt=0.42521539455332336', //秦美人 'method' => 'POST', 'post_data' => '', 'header' => null, 'options' => array( CURLOPT_REFERER => "http://niu.xunlei.com/entergame/?gameNo=qmr&fenQuNum=3", CURLOPT_COOKIE => $USER_COOKIE, ) ), array( 'url' => 'http://dyactive2.vip.xunlei.com/com_sign/?game=sq&type=rec_gametime&referfrom=&rt=0.42521539455332336', //神曲 'method' => 'POST', 'post_data' => '', 'header' => null, 'options' => array( CURLOPT_REFERER => "http://niu.xunlei.com/entergame/?gameNo=sq&fenQuNum=41", CURLOPT_COOKIE => $USER_COOKIE, ) ), array( 'url' => 'http://dyactive2.vip.xunlei.com/com_sign/?game=frxz&type=rec_gametime&referfrom=&rt=0.42521539455332336', //凡人修真 'method' => 'POST', 'post_data' => '', 'header' => null, 'options' => array( CURLOPT_REFERER => "http://niu.xunlei.com/entergame/?gameNo=frxz&fenQuNum=3", CURLOPT_COOKIE => $USER_COOKIE, ) ), array( 'url' => 'http://dyactive2.vip.xunlei.com/com_sign/?game=smxj&type=rec_gametime&referfrom=&rt=0.42521539455332336', //神魔仙界 'method' => 'POST', 'post_data' => '', 'header' => null, 'options' => array( CURLOPT_REFERER => "http://niu.xunlei.com/entergame/?gameNo=smxj&fenQuNum=2", CURLOPT_COOKIE => $USER_COOKIE, ) ), array( 'url' => 'http://dyactive2.vip.xunlei.com/com_sign/?game=qsqy&type=rec_gametime&referfrom=&rt=0.42521539455332336', //倾世情缘 'method' => 'POST', 'post_data' => '', 'header' => null, 'options' => array( CURLOPT_REFERER => "http://niu.xunlei.com/entergame/?gameNo=qsqy&fenQuNum=11", CURLOPT_COOKIE => $USER_COOKIE, ) ), ); foreach ($data as $val) { $request = new Curl_request ($val ['url'], $val ['method'], $val ['post_data'], $val ['header'], $val ['options']); $curl->add($request); } $curl->execute(); echo $curl->display_errors();
Das Obige ist der gesamte Inhalt von In diesem Artikel finden Sie weitere verwandte Inhalte auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
PHP Curl sendet eine gefälschte AnfragePHP CURL erhält Cookies, um ein Codebeispiel für die Anmeldemethode zu simulierenDas obige ist der detaillierte Inhalt vonDie PHP-Curl-Stapelverarbeitung realisiert kontrollierbare gleichzeitige und asynchrone Vorgänge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!