本篇文章给大家分享的是有关如何在PHP中利用curl批量请求,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
具体如下:
<?php $ch=array(); $res=array(); $conn=array(); $urls=array( 'baidu'=>"http://www.baidu.com/", 'cheyun'=>"http://auto.jrj.com.cn/", 'w3c'=>"http://www.w3cschool.cc/", ); //创建批处理cURL句柄 $mh=curl_multi_init(); foreach($urlsas$i=>$url){ //创建一对cURL资源 $conn[$i]=curl_init(); //设置URL和相应的选项 curl_setopt($conn[$i],CURLOPT_URL,$url); curl_setopt($conn[$i],CURLOPT_HEADER,0); curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1); curl_setopt($conn[$i],CURLOPT_TIMEOUT,10); //302跳转 curl_setopt($conn[$i],CURLOPT_FOLLOWLOCATION,1); //增加句柄 curl_multi_add_handle($mh,$conn[$i]); } $active=null; //防卡死写法:执行批处理句柄 do{ $mrc=curl_multi_exec($mh,$active); }while($mrc==CURLM_CALL_MULTI_PERFORM); while($active&&$mrc==CURLM_OK){ if(curl_multi_select($mh)!=-1){ do{ $mrc=curl_multi_exec($mh,$active); }while($mrc==CURLM_CALL_MULTI_PERFORM); } } foreach($urlsas$i=>$url){ //获取当前解析的cURL的相关传输信息 $info=curl_multi_info_read($mh); //获取请求头信息 $heards=curl_getinfo($conn[$i]); var_dump($heards); //获取输出的文本流 $res[$i]=curl_multi_getcontent($conn[$i]); //移除curl批处理句柄资源中的某个句柄资源 curl_multi_remove_handle($mh,$conn[$i]); //关闭cURL会话 curl_close($conn[$i]); } //关闭全部句柄 curl_multi_close($mh); //var_dump($res);
以上就是如何在PHP中利用curl批量请求,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。
php字符串增加1如何实现
php字符串增加1如何实现这篇“php字符串增加1如何实现”文章的...
php如何判断字符串是否有中文
php如何实现字符串去掉头尾
php字符串的组成是什么
php字符串的组成是什么这篇文章主要讲解了“php字符串的组成是什...
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
php字符串长度不一致如何解决
php时区不正确如何解决
php+fread()乱码如何解决
php+fread()乱码如何解决本篇内容介绍了“php+frea...
php explode报错如何解决
linux Centos如何安装PHP7
linuxCentos如何安装PHP7今天小编给大家分享一下li...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议