Guzzle如何发送异步Web请求?

Cod*_*ode 8 php guzzle

cURL是同步的.那么像Guzzle这样的库如何发送异步Web请求呢?

Sha*_*ley 5

Guzzle CurlMultiHander包装了 PHP 的内置curl_multi_*函数,该函数本质上包装了cURL Multi API

来自 cURL 文档:

要使用多接口,您必须首先使用curl_multi_init创建一个“多句柄”。然后,该句柄用作所有其他curl_multi_* 函数的输入。

通过多手柄和多接口,您可以并行进行多个同时传输。每一次转移都是围绕一个简单的手柄进行的。您创建所需的所有简单句柄,并使用curl_easy_setopt 为每个简单句柄设置适当的选项。


axi*_*iac 5

其中的狂饮的交通处理程序是CurlMultiHandler使用PHP的curl_multi_*功能,它允许异步传输。

这些请求是异步启动的,该功能curl_multi_select()允许Guzzle等待直到curl请求之一接收到数据并对其进行处理。