// 创建批处理cURL句柄 $mh = curl_multi_init(); //创建每一个curl会话 $curl[$count] = curl_init(); // 启动一个CURL会话 curl_setopt($curl[$count], CURLOPT_URL, $url); curl_setopt($curl[$count], CURLOPT_HEADER, 0); curl_setopt($curl[$count], CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl[$count], CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($curl[$count], CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl[$count], CURLOPT_COOKIE , $cookie ); curl_setopt($curl[$count], CURLOPT_HTTPHEADER, $headers); curl_multi_add_handle($mh, $curl[$count]); // 执行批处理句柄 do { $mrc = curl_multi_exec($mh, $active); } while ($active > 0); $sql = ""; //获取处理结果 for($i = 0; $i < $count; $i ++){ $content = json_decode(curl_multi_getcontent($curl[ $i ])); foreach($content->data->content as $re){ echo $re->hphm; } // $data[ $i ] = ( curl_errno($curl[ $i ]) == 0 ) ? $content : false; } // 关闭全部句柄 for($i = 0; $i < $count; $i ++){ curl_multi_remove_handle($mh, $curl[ $i ]); } curl_multi_close($mh);
各函数作用解释:
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的相关传输信息。
- THE END -
最后修改:2021年2月1日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.95app.top/php-curl%e5%b9%b6%e5%8f%91/