$curls = array(); $mh = curl_multi_init(); foreach($clss as $key => $cls){ $param = $this->cvtParam($cls); //$header[] = "Content-type: text/xml"; //定义content-type为xml,注意是数组 $curls[$key]['url'] = $this->gs_url; $curls[$key]['ch'] = curl_init(); curl_setopt($curls[$key]['ch'], CURLOPT_URL, $curls[$key]['url']); curl_setopt($curls[$key]['ch'], CURLOPT_RETURNTRANSFER, true); //curl_setopt($curls[$key]['ch'], CURLOPT_HTTPHEADER, $header); curl_setopt($curls[$key]['ch'], CURLOPT_POST, 1); curl_setopt($curls[$key]['ch'], CURLOPT_TIMEOUT, 3); curl_setopt($curls[$key]['ch'], CURLOPT_POSTFIELDS, $param); curl_setopt($curls[$key]['ch'], CURLOPT_SSL_VERIFYPEER, false); } foreach ($curls as $curl) { curl_multi_add_handle($mh, $curl['ch']); } $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); } } $rs = array(); foreach ($curls as $key => $curl) { $r = curl_multi_getcontent($curl['ch']); curl_multi_remove_handle($mh, $curl['ch']); if($r){ $rs[$key] = json_decode($r,true); } } curl_multi_close($mh); return $rs;
curl并发例子
最新推荐文章于 2022-01-11 21:00:19 发布