cURL
是同步的。那么像Guzzle这样的库如何发送异步Web请求?
答案 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请求接收数据并进行处理。