首頁 > 後端開發 > php教程 > 如何在 PHP 中實作非同步 cURL 請求?

如何在 PHP 中實作非同步 cURL 請求?

Patricia Arquette
發布: 2024-11-02 13:55:03
原創
662 人瀏覽過

How to Implement Asynchronous cURL Requests in PHP?

PHP 中的非同步 cURL 請求

執行並行curl 請求有利於效能最佳化。本文提供了使用各種方法實現非同步執行的見解。

非同步cURL

使用內建cURL 函數的非同步執行需要以下方法:

<code class="php">curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($ch, CURLOPT_USERPWD, $api_onfleet);
 curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
 curl_setopt($ch, CURLOPT_ENCODING, "");  
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

$mh = curl_multi_init();
curl_multi_add_handle($mh,$session);
curl_multi_add_handle($mh,$ch);</code>
登入後複製

p. pThreads 提供了另一個非同步執行方法:

<code class="php">class Request1 extends Thread {
    public function run() {
        // Your code here
    }
}

class Request2 extends Thread {
    public function run() {
        // Your code here
    }
}

$req1 = new Request1();
$req2 = new Request2();
$req1->start();
$req2->start();</code>
登入後複製
建議閱讀

[curl_multi_init()](https://www) .php.net/manual/en/function.curl-multi-init.php)
  • [curl_multi_exec()](https://www. php.net/manual/en/function.curl-multi -exec.php)
  • [curl_multi_add_handle()](https://www.php.net/manual/en/function.curl-multi- add-handle.php)
  • [ class::Thread](https://www.php.net/manual/en/class.thread.php)
  • [Thread::start ](https://www.php.net/manual /en/thread.start.php)

以上是如何在 PHP 中實作非同步 cURL 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板