curl 同时发送多个请求
// 创建一对cURL资源 $ch1 = curl_init(); $ch2 = curl_init(); // 设置URL和相应的选项 curl_setopt($ch1, CURLOPT_URL, "http://test.cm/a.php/"); curl_setopt($ch1, CURLOPT_HEADER, 0); curl_setopt ( $ch1, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch2, CURLOPT_URL, "http://testd.cm/b.php"); curl_setopt($ch2, CURLOPT_HEADER, 0); curl_setopt ( $ch2, CURLOPT_RETURNTRANSFER, 1 ); // 创建批处理cURL句柄 $mh = curl_multi_init(); // 增加2个句柄 curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); $running=null; // 执行批处理句柄 do { //处理所有的请求,知道全部执行完毕 curl_multi_exec($mh,$running); } while($running > 0); //根据句柄获取每个请求对应的返回的内容 $a = curl_multi_getcontent($ch1); ee($a); ee(curl_error($ch1)); //单个请求出错,不会影响到其他请求 $b = curl_multi_getcontent($ch2); ee($b); // 关闭全部句柄 curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。