您现在的位置是:网站首页>列表内容
PHP curl批处理及多请求并发实现方法分析_php技巧_
2023-05-25 12:52:18
241人已围观
简介 PHP curl批处理及多请求并发实现方法分析_php技巧_
本文实例讲述了PHP curl批处理及多请求并发实现方法。分享给大家供大家参考,具体如下:
在面试过程中遇到一个问题,加入一个一个网站访问一次需要两秒,我们如何实现在2秒左右请求三次?
面试官想问的就是如何使用curl并发处理请求
关于curl_multi_init()
一般来说,想到要用curl_multi_init()时,目的是要同时请求多个url,而不是一个一个依次请求,否则就要curl_init()了。
不过,在使用curl_multi的时候,你可能遇到cpu消耗过高、网页假死等现象,可以看看《PHP使用curl_multi_select解决curl_multi网页假死问题》
使用curl_multi的步骤总结如下:
- 第一步:调用
curl_multi_init
- 第二步:循环调用
curl_multi_add_handle
这一步需要注意的是,
curl_multi_add_handle
的第二个参数是由curl_init而来的子handle。 - 第三步:持续调用
curl_multi_exec
- 第四步:根据需要循环调用
curl_multi_getcontent
获取结果 - 第五步:调用
curl_multi_remove_handle
,并为每个字handle调用curl_close
- 第六步:调用
curl_multi_close
各函数作用解释:
curl_multi_init()
初始化一个curl批处理句柄资源。
curl_multi_add_handle()
向curl批处理会话中添加单独的curl句柄资源。curl_multi_add_handle()
函数有两个参数,第一个参数表示一个curl批处理句柄资源,第二个参数表示一个单独的curl句柄资源。
curl_multi_exec()
解析一个curl批处理句柄,curl_multi_exec()
函数有两个参数,第一个参数表示一个批处理句柄资源,第二个参数是一个引用值的参数,表示剩余需要处理的单个的curl句柄资源数量。
curl_multi_remove_handle()
移除curl批处理句柄资源中的某个句柄资源,curl_multi_remove_handle()
函数有两个参数,第一个参数表示一个curl批处理句柄资源,第二个参数表示一个单独的curl句柄资源。
curl_multi_close()
关闭一个批处理句柄资源。
curl_multi_getcontent()
在设置了CURLOPT_RETURNTRANSFER
的情况下,返回获取的输出的文本流。
curl_multi_info_read()
获取当前解析的curl的相关传输信息。
示例代码:
0); // 关闭全部句柄 curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh); ?>
获取批处理后的结果:
string curl_multi_getcontent ( resource $ch )
ch是由 curl_init()
返回的 cURL 句柄。
参考:
http://www.php.net/manual/zh/function.curl-multi-init.php
https://www.jb51.net/article/145660.htm
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
点击排行
![](http://img.jbzj.com/file_images/article/201405/2014051915011679.jpg)
- 造梦西游3法宝五行属性介绍_单机游戏_游戏攻略_
- 黑暗之魂2怎么覆盖存档? 黑暗之魂2覆盖存档玩法攻略_单机游戏_游戏攻略_
- 黑暗之魂2各属性武器怎么附魔?各属性武器附魔方法_单机游戏_游戏攻略_
- 黑暗之魂2双持武器攻击动作介绍 双持武器攻击动作大全_单机游戏_游戏攻略_
- 真三国无双7:猛将传帧数及垂直同步怎么设置?帧数及垂直同步设置方法_单机游戏_游戏攻略_
- 真三国无双7:猛将传Win8黑屏怎么办?Win8黑屏解决方法_单机游戏_游戏攻略_
- 真三国无双7:猛将传EX武器详解_单机游戏_游戏攻略_
- 真三国无双7:猛将传武器特性相克介绍说明_单机游戏_游戏攻略_
- 真三国无双7:猛将传暴风怎么连击?暴风连击攻略_单机游戏_游戏攻略_
本栏推荐
![](http://img.jbzj.com/file_images/article/201405/2014051915011679.jpg)
-
造梦西游3法宝五行属性介绍_单机游戏_游戏攻略_
-
黑暗之魂2怎么覆盖存档? 黑暗之魂2覆盖存档玩法攻略_单机游戏_游戏攻略_
-
黑暗之魂2各属性武器怎么附魔?各属性武器附魔方法_单机游戏_游戏攻略_
-
黑暗之魂2双持武器攻击动作介绍 双持武器攻击动作大全_单机游戏_游戏攻略_
-
真三国无双7:猛将传帧数及垂直同步怎么设置?帧数及垂直同步设置方法_单机游戏_游戏攻略_
-
真三国无双7:猛将传Win8黑屏怎么办?Win8黑屏解决方法_单机游戏_游戏攻略_
-
真三国无双7:猛将传EX武器详解_单机游戏_游戏攻略_
-
真三国无双7:猛将传武器特性相克介绍说明_单机游戏_游戏攻略_
-
真三国无双7:猛将传暴风怎么连击?暴风连击攻略_单机游戏_游戏攻略_