php curl 批量,PHP利用curl批量发送请求

function postMulti($nodes,$timeOut = 5)

{

try

{

if (false == is_array($nodes))

{

return array();

}

$mh = curl_multi_init();

$curlArray = array();

foreach($nodes as $key => $info)

{

if(false == is_array($info))

{

continue;

}

if(false == isset($info['url']))

{

continue;

}

$ch = curl_init();

// 设置url

$url = $info['url'];

curl_setopt($ch, CURLOPT_URL, $url);

$data = isset($info['data']) ? $info['data'] :null;

if(false == empty($data))

{

curl_setopt($ch, CURLOPT_POST, 1);

// array

if (is_array($data) && count($data) > 0)

{

curl_setopt($ch, CURLOPT_POST, count($data));

}

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

}

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

// 如果成功只将结果返回,不自动输出返回的内容

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// user-agent

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0");

// 超时

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeOut);

$curlArray[$key] = $ch;

curl_multi_add_handle($mh, $curlArray[$key]);

}

$running = NULL;

do {

usleep(10000);

curl_multi_exec($mh,$running);

} while($running > 0);

$res = array();

foreach($nodes as $key => $info)

{

$res[$key] = curl_multi_getcontent($curlArray[$key]);

}

foreach($nodes as $key => $info){

curl_multi_remove_handle($mh, $curlArray[$key]);

}

curl_multi_close($mh);

return $res;

}

catch ( Exception $e )

{

return array();

}

return array();

}

$urls = array(

0=>array(

'url'=>'http://www.aaa.com/1.php',

'data'=>array(

'dopost' => 'test'

)

),

1=>array(

'url'=>'http://www.bbb.com/2.php',

'data'=>array(

'dopost' => 'test'

)

),

);

postMulti($urls);

echo 'finish'.date('Y-m-d H:i:s');

die;

参考:http://blog.csdn.net/clevercode/article/details/51548210

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值