"asd",'time'=>"123213"), array('title'=>"asd",'url'=>"asd",'ti">
当前位置:Gxlcms > PHP教程 > php大量curl请求问题

php大量curl请求问题

时间:2021-07-01 10:21:17 帮助过:5人阅读

一个大数组

$data =array(array('title'=>"asd",'url'=>"asd",'time'=>"123213"),
             array('title'=>"asd",'url'=>"asd",'time'=>"123213"),
              .....//很多数据
)

foreach($data as $v){

//每一个$v  通过curl发送给接口  接收返回值 记录表中

}

问题是

接口是 节点类型的 (a -z) 26了主机不一定那个好使
http://[a-z]l.baidu.com/vipgetartpaiming.php

一共有26 curl 的请求地址
我循环去curl 这26个地址,如果有返回则break 跳出循环 处理下一条数据

我认为很有可能在26次中没有一次成功,那么我这条数据就没有被接口处理,

我现在想有没有更好的方法使得这些数据··都被接口处理过

我应该怎样去处理这个流程····才能保证全部数据都被接口处理过

回复内容:

一个大数组

$data =array(array('title'=>"asd",'url'=>"asd",'time'=>"123213"),
             array('title'=>"asd",'url'=>"asd",'time'=>"123213"),
              .....//很多数据
)

foreach($data as $v){

//每一个$v  通过curl发送给接口  接收返回值 记录表中

}

问题是

接口是 节点类型的 (a -z) 26了主机不一定那个好使
http://[a-z]l.baidu.com/vipgetartpaiming.php

一共有26 curl 的请求地址
我循环去curl 这26个地址,如果有返回则break 跳出循环 处理下一条数据

我认为很有可能在26次中没有一次成功,那么我这条数据就没有被接口处理,

我现在想有没有更好的方法使得这些数据··都被接口处理过

我应该怎样去处理这个流程····才能保证全部数据都被接口处理过

假如接口是幂等的,循环用curl_multi_*系列函数并发请求接口,有返回就continue,都没返回就再请求一次。
这种方法只是减少一个数据请求26个接口时的耗时,其实仍旧很愚蠢。
如果接口不是幂等,那就只能一个一个来了。

人气教程排行