$v){ $temp = explode('-',$k); $sp_xl_list[$temp[1]] = $v; } $sp_qz_code = file_get_contents(__DIR__ . '/data/qz.txt', 'r'); // echo $sp_qz_code; $sp_qz_json = json_decode(substr($sp_qz_code,3),true); $sp_qz_list = []; foreach($sp_qz_json as $k=>$v){ $temp = explode('-',$k); $sp_qz_list[$temp[1]] = $v; } //-------------------------------------------- $all = fopen(__DIR__ . '/data/all.csv', 'w'); $dnx_exit = fopen(__DIR__ . '/data/dns_diff.csv', 'a'); $dnx_has_exit = get_product(__DIR__ . '/data/dns_diff.csv', 1); //----------------------------------------------------------------------------------------------------- $apikey = '80cf4f64e990b78a9fc5eb'; $url = "http://rds-api.juip.com/api/index/getList?apikey=".$apikey; $mogu = json_decode(file_get_contents($url), true)['data']; if ($mogu) { $mogu_f = fopen(__DIR__ . '/data/mogu.csv', 'w'); mogu_getList($mogu, $mogu_f, $all); fclose($mogu_f); } $time = time(); $noce = md5(time()); $apikey = 'a478ad5aa3079bbbef3cd45e2d55d61e'; $sign = md5($time.$noce.$apikey); $url = "http://47.92.116.14:2222/api/getNodeList?agentid=admin1&ti=".$time."&nonce=".$noce."&sign=".$sign; $qiangzi = json_decode(file_get_contents($url), true)['data']; if(!empty($qiangzi)){ $qiangzi_data = get_product(__DIR__ . '/data/qiangzi.csv'); $qiangzi_f = fopen(__DIR__ . '/data/qiangzi.csv', 'w'); //写入强子文件 qiangzi_getList($qiangzi, $qiangzi_f, $all, $qiangzi_data); fclose($qiangzi_f); } $time = time(); $noce = md5(time()); $apikey = 'osoa917321hdjw'; $sign = md5($time.$noce.$apikey); $url = "http://47.92.65.184:2223/api/getNodeList?agentid=admin2&ti=".$time."&nonce=".$noce."&sign=".$sign; $xunlian = json_decode(file_get_contents($url), true)['data']; // $xunlian = false; if ($xunlian){ $xunlian_data = get_product(__DIR__ . '/data/xunlian.csv'); $xunlian_f = fopen(__DIR__ . '/data/xunlian.csv', 'w'); //写入讯连文件 xunlian_getList($xunlian, $xunlian_f, $all, $xunlian_data); fclose($xunlian_f); } $url = 'http://int.linghangadmin.com:8000/sysadmin/useradmin/lineapi_admin1.php?secretId=108006113&secretKey=87085a351a64c116df09ebc07d5781sf'; $huohu = json_decode(file_get_contents($url), true); // if(!empty($huohu)){ // $huohu_f = fopen(__DIR__ . '/data/huohu.csv', 'w'); // //写入火狐文件 // $huohu_data = get_product(__DIR__ . '/data/huohu.csv'); // huohu_getList($huohu, $huohu_f, $all,$huohu_data); // fclose($huohu_f); // } // ///动态 // $url = 'http://int.linghangsoft.net:8000/sysadmin/useradmin/lineapi_admin1.php?secretId=108006113&secretKey=87085a351a64c116df09ebc07d5781sf'; // $yunniu = json_decode(file_get_contents($url), true); // if(!empty($yunniu)){ // $yunniu_f = fopen(__DIR__ . '/data/yunniu.csv', 'w'); // //写入火狐文件 // $yunniu_data = get_product(__DIR__ . '/data/yunniu.csv'); // yunniu_getList($yunniu, $yunniu_f, $all,$yunniu_data); // fclose($yunniu_f); // } // $time = time(); // $noce = md5(time()); // $apikey = 'd50f2b2ffd421efa67df8efb96d5ff6c'; // $sign = md5($time.$noce.$apikey); // $url = "http://106.54.198.154/api/getNodeList?agentid=admin1&ti=".$time."&nonce=".$noce."&sign=".$sign; // $xingxing = json_decode(file_get_contents($url), true)['data']; // //写入星星文件 // if($xingxing){ // $xingxing_data = get_product(__DIR__ . '/data/xingxing.csv'); // $xingxing_f = fopen(__DIR__ . '/data/xingxing.csv', 'w'); // xingxing_getList($xingxing, $xingxing_f, $all, $xingxing_data); // fclose($xingxing_f); // } $jike = json_decode(file_get_contents("http://api.beikeip.com/beikeiplist/"), true)['data']; if($jike){ $jike_data = get_product(__DIR__ . '/data/jike.csv'); $jike_f = fopen(__DIR__ . '/data/jike.csv', 'w'); //写入极客文件 jike_getList($jike, $jike_f, $all, $jike_data); fclose($jike_f); } $xigua = json_decode(file_get_contents("http://api.beikeip.com/serverlistyzip/"), true)['data']; if($xigua){ $xigua_data = get_product(__DIR__ . '/data/xigua.csv'); $xigua_f = fopen(__DIR__ . '/data/xigua.csv', 'w'); //写入西瓜文件 jike_getList($xigua, $xigua_f, $all, $xigua_data, false); fclose($xigua_f); } $tiantian = json_decode(file_get_contents("https://yoyoapi.yoyoip.com/v1/areas?apiid=89&sendtime=" . time() . "&sign=" . md5('apiid=89&sendtime=' . time() . 'NFeK72yYXmPiGR86YeMCBRTWDxXkrQsd')), true)['data']; if($tiantian){ $tiantian_data = get_product(__DIR__ . '/data/tiantian.csv'); $tiantian_f = fopen(__DIR__ . '/data/tiantian.csv', 'w'); //写入天天文件 tiantian_getList($tiantian, $tiantian_f, $all, $tiantian_data, '天天'); fclose($tiantian_f); } $xianfeng = json_decode(file_get_contents("http://apiserver.pptp.biz/Apiserver/getserver"), true); if($xianfeng){ $xianfeng_data = get_product(__DIR__ . '/data/xianfeng.csv'); $xianfeng_f = fopen(__DIR__ . '/data/xianfeng.csv', 'w'); //写入先锋文件 xianfeng_getList($xianfeng, $xianfeng_f, $all, $xianfeng_data); fclose($xianfeng_f); } // $jinrui_data = get_product(__DIR__ . '/data/jinrui.csv'); // $jinrui_f = fopen(__DIR__ . '/data/jinrui.csv', 'w'); // $jinrui = file_get_contents("http://pptp.zhekou5.com/api/getnas.php"); // //写入金瑞文件 // jinrui_getList($jinrui, $jinrui_f, $all, $jinrui_data); // fclose($jinrui_f); $laoying = json_decode(file_get_contents("http://diqu.pptp.pro:8070/sapi/getroslist"), true)['list']; if($laoying){ $laoying_data = get_product(__DIR__ . '/data/laoying.csv'); $laoying_f = fopen(__DIR__ . '/data/laoying.csv', 'w'); //写入老鹰文件 laoying_getList($laoying, $laoying_f, $all, $laoying_data); fclose($laoying_f); } sleep(5); auto_format_list(); //强子服务器解析规则 function qiangzi_getList($data, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit,$sp_qz_list; $online = ['故障', '正常', '紧张','繁忙']; $status = ['正常', '拥挤', '超载']; $key = ''; $list1 = []; $province_record = []; foreach ($data as $info) { $record = []; $record['name'] = '强子'; //如果存在 不为空 则 $city_name = explode('-',$info['name']); if (strpos($city_name[1], '混播') !== false) { //如果存在 不为空 则 if (!in_array( $city_name[1], $province_record)) { $record['city'] = $city_name[1]; $province_record[] = $city_name[1]; $key = $record['city']; $list1[$key][] = $record; } } else { //如果存在 不为空 则 if (!in_array( $city_name[0], $province_record)) { $record['city'] = $city_name[0]; $province_record[] = $city_name[0]; $key = $record['city']; $list1[$key][] = $record; } $key = $city_name[0]; } $record['city'] = $city_name[1]; $record['supply'] = isset($city_name[2]) ? $city_name[2] : ''; $daikuan = $info['bandwidth']; $record['ip'] = $info['name2']; $record['daikuan'] = $daikuan; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['status']]; $record['status'] = $sp_qz_list[$record['city']]; if(!empty($info['host2'])){ $nas_list = explode(',',$info['host2']); foreach ($nas_list as $nas) { $record['nasname'] = trim($nas); if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['强子', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } } $record['nasname'] = trim($info['host']); if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['强子', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //火狐服务器解析规则 function huohu_getList($data, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit; $online = ['故障', '正常','故障']; $list = []; $province_record = []; foreach ($data as $info){ $record = []; $record['name'] = '火狐静态'; //如果存在 不为空 则 if (!in_array( $info['province'], $province_record)) { $record['city'] = $info['province']; $province_record[] = $info['province']; $key = $record['city']; $list[$key][] = $record; } //匹配所有的城市 //每一个城市再解析获取城市和剩余数量 $record['city'] = $info['city']; $record['supply'] = $info['displayname']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['status']]; $record['status'] = ''; $record['nasname'] = $info['ip']; $list[$key][] = $record; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['火狐', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } } foreach ($list as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //火狐服务器解析规则 function yunniu_getList($data, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit; $online = ['故障', '正常','故障']; $list = []; $province_record = []; foreach ($data as $info){ $record = []; $record['name'] = '云牛'; //如果存在 不为空 则 if (!in_array( $info['province'], $province_record)) { $record['city'] = $info['province']; $province_record[] = $info['province']; $key = $record['city']; $list[$key][] = $record; } //匹配所有的城市 //每一个城市再解析获取城市和剩余数量 $record['city'] = $info['city']; $record['supply'] = $info['displayname']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['status']]; $record['status'] = ''; $record['nasname'] = $info['ip']; $list[$key][] = $record; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['火狐', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } } foreach ($list as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //星星服务器解析 function xingxing_getList($data, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit; $online = ['故障', '正常', '正常']; $province_record = []; $key = ''; $list1 = []; //省会 $province = ['黑龙', '内蒙']; $citys = ['北京', '上海', '天津', '重庆']; foreach ($data as $info) { $record = []; $record['name'] = '星星'; $province_detail = mb_substr($info['name'], 0, 2); if (in_array($province_detail, $province)) { $province_detail = mb_substr($info['name'], 0, 3); $info['name'] = mb_substr($info['name'], 3); } elseif (!in_array($province_detail, $citys)) { $info['name'] = mb_substr($info['name'], 2); } if (!in_array($province_detail, $province_record)) { $record['city'] = $province_detail; $province_record[] = $province_detail; $key = $province_detail; $list1[$key][] = $record; } $city_ex = explode('电信', $info['name']); if (strpos($info['name'], '电信') !== false) { $record['city'] = $city_ex[0] . ($city_ex[1] ?? ''); $record['supply'] = '电信'; } elseif (strpos($info['name'], '联通') !== false) { $record['city'] = $city_ex[0] . ($city_ex[1] ?? ''); $record['supply'] = '联通'; } elseif (strpos($info['name'], '移动') !== false) { $record['city'] = $city_ex[0] . ($city_ex[1] ?? ''); $record['supply'] = '移动'; } else { $record['city'] = $info['name']; $record['supply'] = '电信/联通'; } $record['ip'] = strpos($info['name2'], '-') ? explode('-', $info['name2'])[1] : $info['name2']; $record['daikuan'] = $info['bandwidth']; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ($info['status'] == 0) ? '故障' : '正常'; $record['status'] = ($info['status'] == 1) ? '正常' : '紧张';; $record['nasname'] = $info['host']; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['星星', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $key = $province_detail; $list1[$key][] = $record; } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //极客服务器解析 function jike_getList($data, &$file, &$all, $exit, $is_jike = true) { global $dnx_exit, $dnx_has_exit; $status = ['yes' => '正常', 'no' => '故障']; $key = ''; $list1 = []; $province_record = []; foreach ($data as $info) { $record = []; if($is_jike){ $record['name'] = '极客'; } else { $record['name'] = '西瓜'; } //如果存在 不为空 则 if (!in_array($info['province'], $province_record)) { $record['city'] = $info['province']; $province_record[] = $info['province']; $key = $record['city']; $list1[$key][] = $record; } if (empty($info['city'])) { $record['city'] = '全国混播'; } else { $record['city'] = $info['city']; } $record['supply'] = $info['isp']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $status[$info['status']]; $record['status'] = ''; $record['nasname'] = $info['domain']; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, [$record['name'], explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //天天服务器解析规则 function tiantian_getList($data, &$file, &$all, $exit, $product_name) { global $dnx_exit, $dnx_has_exit; $status = ['故障', '正常']; $key = ''; $list1 = []; foreach ($data as $info) { $record = []; $record['name'] = $product_name; $record['city'] = $info['name']; $key = $record['city']; $list1[$key][] = $record; foreach ($info['areas'] as $v) { if (strpos($v['name'], '电信') !== false) { $record['city'] = explode('电信', $v['name'])[0]; $record['supply'] = '电信'; } elseif (strpos($v['name'], '联通') !== false) { $record['city'] = explode('联通', $v['name'])[0]; $record['supply'] = '联通'; } elseif (strpos($v['name'], '移动') !== false) { $record['city'] = explode('移动', $v['name'])[0]; $record['supply'] = '移动'; } else { $record['city'] = $v['name']; $record['supply'] = '电信/联通'; } $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = empty($v['status']) ? '故障' : $status[$v['status']]; $record['status'] = ''; $record['nasname'] = $v['address']; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, [$product_name, explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //蘑菇服务器解析规则 function mogu_getList($data, &$file, &$all ) { $key = ''; $list1 = []; // print_r($data); $province_record = []; foreach ($data as $info) { $record = []; $record['name'] = '蘑菇'; //如果存在 不为空 则 $city_name = explode('-',$info['city']); if(empty($info['city'])) { continue; } //如果存在 不为空 则 if (!in_array( $city_name[0], $province_record)) { $record['city'] = $city_name[0]; $province_record[] = $city_name[0]; $key = $record['city']; $list1[$key][] = $record; } $key = $city_name[0]; $record['city'] = $city_name[1]; $record['supply'] = $info['yunying']; $record['ip'] = $info['ipCount']; $record['daikuan'] = $info['daikuan']; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $info['status']; $record['status'] = $info['onlinestatus']; $record['nasname'] = $info['address']; $list1[$key][] = $record; } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } function laoying_getList($list, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit; $key = ''; $online = ['故障', '正常']; $province_record = []; foreach ($list as $k => $info) { //生成数据 $record = []; $record['name'] = '老鹰'; //运营商 if (strpos($info['server_address'], '电信') !== false) { $supply = '电信'; $info['server_address'] = mb_substr($info['server_address'], 0, mb_strlen($info['server_address']) - 2); } elseif (strpos($info['server_address'], '联通') !== false) { $supply = '联通'; $info['server_address'] = mb_substr($info['server_address'], 0, mb_strlen($info['server_address']) - 2); } elseif (strpos($info['server_address'], '移动') !== false) { $supply = '移动'; $info['server_address'] = mb_substr($info['server_address'], 0, mb_strlen($info['server_address']) - 2); } else { $supply = '电信/联通'; } //如果存在 不为空 则 if (!in_array( $info['category_name'], $province_record)) { $record['city'] = $info['category_name']; $province_record[] = $info['category_name']; $key = $record['city']; $list1[$key][] = $record; } $key = $info['category_name']; $record['city'] =$info['server_address']; $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['isonline']]; $record['status'] = ''; if (strpos($info['remote_domain'], ' ') !== false) { $nas_list = explode(' ',$info['remote_domain']); $record['nasname'] = $nas_list[0]; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['老鹰', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; $record['nasname'] = empty($nas_list[1])?$nas_list[2]:$nas_list[1]; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['老鹰', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } else { $record['nasname'] = $info['remote_domain']; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['老鹰', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } //共享 function gongxiang_getList($html, &$file, &$all, $exit, $pro = '共享') { global $dnx_exit, $dnx_has_exit; //省会 $province = ['黑龙', '内蒙']; $province_record = []; $key = ''; $list1 = []; preg_match_all("//is", $html, $result); foreach ($result[0] as $k => $info) { $record = []; $record['name'] = $pro; $records['name'] = $pro; if ($k == 0) { continue; } else { preg_match_all("/(.*?)<\/td>/is", $info, $result); $info = $result[0]; foreach ($info as $i => $v) { $info[$i] = ltrim($info[$i], ''); $info[$i] = rtrim($info[$i], ''); } $nasname = $info[1]; $data[1] = $info[2]; if (strpos($data[1], '电信') !== false) { $supply = '电信'; $data[1] = mb_substr($data[1], 0, mb_strlen($data[1]) - 2); } elseif (strpos($data[1], '联通') !== false) { $supply = '联通'; $data[1] = mb_substr($data[1], 0, mb_strlen($data[1]) - 2); } elseif (strpos($data[1], '移动') !== false) { $supply = '移动'; $data[1] = mb_substr($data[1], 0, mb_strlen($data[1]) - 2); } else { $supply = '电信/联通'; } if (mb_strlen($data[1]) <= 3) { if (!in_array($data[1], $province_record)) { $record['city'] = $data[1]; $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = strpos($info[4], '在线') ? '正常' : '故障'; $record['status'] = ''; $record['nasname'] = $nasname; $records['city'] = $data[1]; $province_record[] = $data[1]; if (in_array($record['city'], ['曾', '龙'])) { continue; } $key = $record['city']; $list1[$key][] = $records; $list1[$key][] = $record; } else { $record['city'] = $data[1]; $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = strpos($info[4], '在线') ? '正常' : '故障'; $record['status'] = ''; $record['nasname'] = $nasname; if (in_array($record['city'], ['曾', '龙'])) { continue; } $list1[$key][] = $record; } } else { $province_detail = mb_substr($data['1'], 0, 2); if (in_array($province_detail, $province)) { $province_detail = mb_substr($data['1'], 0, 3); $key = $province_detail; if (in_array($province_detail, $province_record)) { $record['city'] = mb_substr($data['1'], 3); $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = strpos($info[4], '在线') ? '正常' : '故障'; $record['status'] = ''; $record['nasname'] = $nasname; if (in_array($record['city'], ['曾', '龙'])) { continue; } $list1[$key][] = $record; } else { $record['city'] = mb_substr($data['1'], 3); $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = strpos($info[4], '在线') ? '正常' : '故障'; $record['status'] = ''; $record['nasname'] = $nasname; $records['city'] = $province_detail; $province_record[] = $province_detail; if (in_array($record['city'], ['曾', '龙'])) { continue; } $list1[$key][] = $records; $list1[$key][] = $record; } } else { $province_detail = mb_substr($data['1'], 0, 2); $key = $province_detail; if (in_array($province_detail, $province_record)) { $record['city'] = mb_substr($data['1'], 2); $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = strpos($info[4], '在线') ? '正常' : '故障'; $record['status'] = ''; $record['nasname'] = $nasname; if (in_array($record['city'], ['曾', '龙'])) { continue; } $list1[$key][] = $record; } else { $record['city'] = mb_substr($data['1'], 2); $record['supply'] = $supply; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = strpos($info[4], '在线') ? '正常' : '故障'; $record['status'] = ''; $record['nasname'] = $nasname; $records['city'] = $province_detail; $province_record[] = $province_detail; if (in_array($record['city'], ['曾', '龙'])) { continue; } $list1[$key][] = $records; $list1[$key][] = $record; } } } } } foreach ($list1 as $val) { foreach ($val as $net_data) { $net_data['city'] = str_replace('电信', '', $net_data['city']); $net_data['city'] = str_replace('联通', '', $net_data['city']); fputcsv($file, $net_data); fputcsv($all, $net_data); } } } function xunlian_getList($data, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit,$sp_xl_list; $online = ['故障', '正常', '紧张','繁忙']; $status = ['正常', '拥挤', '超载']; $key = ''; $list1 = []; $province_record = []; foreach ($data as $info) { $record = []; $record['name'] = '迅连'; //如果存在 不为空 则 $city_name = explode('-',$info['name']); if (strpos($city_name[1], '混播') !== false) { //如果存在 不为空 则 if (!in_array( $city_name[1], $province_record)) { $record['city'] = $city_name[1]; $province_record[] = $city_name[1]; $key = $record['city']; $list1[$key][] = $record; } } else { //如果存在 不为空 则 if (!in_array( $city_name[0], $province_record)) { $record['city'] = $city_name[0]; $province_record[] = $city_name[0]; $key = $record['city']; $list1[$key][] = $record; } $key = $city_name[0]; } $record['city'] = $city_name[1]; $record['supply'] = isset($city_name[2]) ? trim($city_name[2]) : ''; $daikuan = $info['bandwidth']; $record['ip'] = $info['name2']; $record['daikuan'] = $daikuan; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['status']];; $record['status'] = $sp_xl_list[$record['city']]; if(!empty($info['host2'])){ $nas_list = explode(',',$info['host2']); foreach ($nas_list as $nas) { $record['nasname'] = trim($nas); if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['迅连', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } } $record['nasname'] = trim($info['host']); if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['迅联', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } function wuxian_getList($html, &$file, &$all, $exit) { // global $dnx_exit, $dnx_has_exit; // //省会 // $province = ['黑龙', '内蒙']; // $province_record = []; // $key = ''; // $list1 = []; // $citys = ['北京', '上海', '天津', '重庆']; // preg_match("/
 <\/div>(.*?)<\/div><\/div>/is", $html, $result); // $result = str_replace('
 
', '', $result[0]); // preg_match_all("/
(.*?)<\/div>/is", $result, $result); // foreach ($result[0] as $k => $info) { // $record = []; // $record['name'] = '无限'; // $info = ltrim($info, '
'); // $info = rtrim($info, '
'); // if (strpos($info, 'span') !== false) { // $data = explode(' ', $info); // } else { // $data = explode('            ', $info); // } // $data[1] = trim($data[1]); // $province_detail = mb_substr(trim($data[1]), 0, 2); // if (in_array($province_detail, $province)) { // $province_detail = mb_substr($data[1], 0, 3); // $data[1] = mb_substr($data[1], 3); // } elseif (!in_array($province_detail, $citys)) { // $data[1] = mb_substr($data[1], 2); // } // if (!in_array($province_detail, $province_record)) { // $record['city'] = $province_detail; // $province_record[] = $province_detail; // $key = $record['city']; // $list1[$key][] = $record; // } // if (strpos($data[1], '电信') !== false) { // $record['city'] = explode('电信', $data[1])[0]; // $record['city'] = str_replace('<', '', $record['city']); // $record['city'] = str_replace('>', '', $record['city']); // $record['supply'] = '电信'; // } elseif (strpos($data[1], '联通') !== false) { // $record['city'] = explode('联通', $data[1])[0]; // $record['city'] = str_replace('<', '', $record['city']); // $record['city'] = str_replace('>', '', $record['city']); // $record['supply'] = '联通'; // } elseif (strpos($data[1], '移动') !== false) { // $record['city'] = explode('移动', $data[1])[0]; // $record['city'] = str_replace('<', '', $record['city']); // $record['city'] = str_replace('>', '', $record['city']); // $record['supply'] = '移动'; // } else { // $record['city'] = $data[1]; // $record['city'] = str_replace('<', '', $record['city']); // $record['city'] = str_replace('>', '', $record['city']); // $record['supply'] = '电信/联通'; // } // $record['ip'] = ''; // $record['daikuan'] = ''; // $record['onlineuser'] = ''; // $record['maxuser'] = ''; // $record['online'] = ''; // $record['status'] = ''; // $record['nasname'] = $data[0]; // if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { // fputcsv($dnx_exit, ['无限', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); // } // $list1[$key][] = $record; // } // foreach ($list1 as $val) { // foreach ($val as $net_data) { // $net_data['city'] = str_replace('电信', '', $net_data['city']); // $net_data['city'] = str_replace('联通', '', $net_data['city']); // fputcsv($file, $net_data); // fputcsv($all, $net_data); // } // } } function xianfeng_getList($data, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit; //省会 $province = ['黑龙', '内蒙', '直辖']; $province_record = []; $key = ''; $list1 = []; $status = ['维护中', '正常']; foreach ($data as $info) { $record = []; $record['name'] = '先锋'; $info['description'] = trim($info['description'], 'a'); if (strpos($info['description'], '混播') || strpos($info['description'], '所有单城市')) { $province_detail = '混播'; if (!in_array($province_detail, $province_record)) { $record['city'] = $province_detail; $province_record[] = $province_detail; $key = $record['city']; $list1[$key][] = $record; } $record['city'] = $info['description']; $record['supply'] = '电信/联通'; } else { $province_detail = mb_substr(trim($info['description']), 0, 2); if (in_array($province_detail, $province)) { $province_detail = mb_substr($info['description'], 0, 3); } if (!in_array($province_detail, $province_record)) { $record['city'] = $province_detail; $province_record[] = $province_detail; $key = $record['city']; $list1[$key][] = $record; } $key = $province_detail; if (strpos($info['description'], '电信') !== false) { $record['city'] = $info['description']; $record['supply'] = '电信'; } elseif (strpos($info['description'], '联通') !== false) { $record['city'] = $info['description']; $record['supply'] = '联通'; } elseif (strpos($info['description'], '移动') !== false) { $record['city'] = $info['description']; $record['supply'] = '移动'; } else { $record['city'] = $info['description']; $record['supply'] = '电信/联通'; } } $record['ip'] = ''; $record['daikuan'] = $info['description2']; $record['onlineuser'] = $info['onlineuser']; $record['maxuser'] = $info['maxuser']; $record['online'] = ($info['status'] == 1) ? '正常' : '故障'; $status_flag = $info['onlineuser'] / $info['maxuser']; $record['status'] = ''; if ($status_flag < 0.9) { $record['status'] = '正常'; } elseif ($status_flag < 0.1) { $record['status'] = '拥挤'; } else { $record['status'] = '满载'; } $record['nasname'] = $info['nasname']; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['先锋', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$key][] = $record; } foreach ($list1 as $val) { foreach ($val as $net_data) { $net_data['city'] = str_replace('电信', '', $net_data['city']); $net_data['city'] = str_replace('联通', '', $net_data['city']); if (mb_strlen($net_data['city']) > 3 && !strpos($net_data['city'], '省内')) { $net_data['city'] = mb_substr($net_data['city'], 3); } fputcsv($file, $net_data); fputcsv($all, $net_data); } } } function jinrui_getList($html, &$file, &$all, $exit) { global $dnx_exit, $dnx_has_exit; //省会 $province_record = []; $key = ''; $list1 = []; preg_match_all("/\{(.*?)\}/is", $html, $result); foreach ($result[0] as $info) { $info = json_decode($info, true); if (empty($info)) { continue; } $record = []; $record['name'] = '金瑞'; if (!in_array($info['province'], $province_record)) { $record['city'] = $info['province']; $province_record[] = $info['province']; $key = $record['city']; $list1[$key][] = $record; } if (empty($info['city'])) { $record['city'] = $info['province']; } else { $record['city'] = $info['city']; } $record['supply'] = $info['isp']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $info['status'] == 1 ? '正常' : '故障'; $record['status'] = ''; $nasname = explode('|', $info['nasname']); foreach ($nasname as $v) { $record['nasname'] = $v; if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) { fputcsv($dnx_exit, ['金瑞', explode('.',$record['nasname'])[0], $record['nasname'], date('Y-m-d H:i:s')]); } $list1[$info['province']][] = $record; } } foreach ($list1 as $val) { foreach ($val as $net_data) { fputcsv($file, $net_data); fputcsv($all, $net_data); } } } function get_product($file_path, $num = 9) { $list = []; $file = fopen($file_path, 'r'); while ($info = fgetcsv($file)) { if (isset($info[$num])) { $list[] = $info[$num]; } } fclose($file); return $list; } function xianfeng_post($url, $cookie, $post) { $curl = curl_init(); //初始化curl模块 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_COOKIE, $cookie); //读取cookie curl_setopt($curl, CURLOPT_POST, 1); //post方式提交 curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); //要提交的信息 $rs = curl_exec($curl); //执行cURL抓取页面内容 curl_close($curl); return $rs; }