如何在PHP中利用curl批量请求

本篇文章给大家分享的是有关如何在PHP中利用curl批量请求,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

具体如下:

如何在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批量请求,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。

发布于 2021-04-08 13:38:05
收藏
分享
海报
0 条评论
170
上一篇:怎么在Python项目中ping指定的IP 下一篇:怎么在PHP中利用CURL上传文件
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码