您的位置:首页 > 理论基础 > 计算机网络

PHP多线程异步请求HTTP

2018-03-06 15:58 274 查看
/**
* 多线程请求链接
* 来自官方参考例程修改
*
* @param array $urlArr
* @author Xinwen Mao
*/
public static function curl_multi($urlArr) {
// 创建批处理cURL句柄
$mh = curl_multi_init();

for ($i = 0; $i < count($urlArr); $i++) {
// 创建一对cURL资源
$chs [$i] = curl_init();

// 设置URL和相应的选项
curl_setopt($chs [$i], CURLOPT_URL, $urlArr [$i]);
curl_setopt($chs [$i], CURLOPT_HEADER, 0);
curl_setopt($chs [$i], CURLOPT_RETURNTRANSFER, 1); // 不输出返回内容
//  curl_setopt($chs [$i], CURLOPT_PROXY, '10.211.55.3:8888'); // 代理调试

// 增加句柄
curl_multi_add_handle($mh, $chs [$i]);
}

$active = null;
do {
curl_multi_exec($mh, $active);
} while ($active > 0);

// 关闭全部句柄
foreach ($chs as $ch) {
curl_multi_remove_handle($mh, $ch);
}
curl_multi_close($mh);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: