Guzzle如何发送异步Web请求?

时间:2016-02-26 15:28:43

标签: php guzzle

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

2 个答案:

答案 0 :(得分:4)

Guzzle CurlMultiHander包含了PHP的内置curl_multi_*函数,它基本上包裹了cURL Multi API

来自cURL文件:

  

要使用多界面,您必须先创建一个多手柄'使用curl_multi_init。然后,此句柄将用作所有进一步curl_multi_ *函数的输入。

     

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

答案 1 :(得分:4)

Guzzle的一个传输处理程序是CurlMultiHandler,它使用PHP的curl_multi_*函数,允许异步传输。

请求以异步方式启动,函数curl_multi_select()允许Guzzle等待其中一个curl请求接收数据并进行处理。