Files
juipphp/script/linedata/get_line_list.php

1053 lines
38 KiB
PHP
Raw Normal View History

2020-11-06 14:23:48 +08:00
<?php
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-11-03 11:04:15
2020-11-26 09:39:22 +08:00
* @LastEditors: Please set LastEditors
2020-12-05 17:34:59 +08:00
* @LastEditTime: 2020-12-05 17:34:41
2020-11-06 14:23:48 +08:00
*/
2020-11-07 17:48:11 +08:00
$is_script = 1;
2020-11-27 10:46:39 +08:00
include_once __DIR__ . '/../../index.php';
include_once __DIR__ . '/auto_format.php';
2020-11-07 17:48:11 +08:00
use app\api\model\Product;
$product_model = new Product;
$product_list = $product_model->field('Id,Token')->fetchAll();
2020-11-06 16:51:37 +08:00
2021-03-06 17:19:53 +08:00
// // //测试用
2021-03-04 14:03:25 +08:00
// $time = time();
// $noce = md5(time());
2021-03-06 17:19:53 +08:00
// $apikey = 'd50f2b2ffd421efa67df8efb96d5ff6c';
2021-03-04 14:03:25 +08:00
// $sign = md5($time.$noce.$apikey);
2021-03-06 17:19:53 +08:00
// $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'];
// print_r($xingxing);die;
2021-03-04 14:03:25 +08:00
// 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);
// }
2021-03-15 12:04:06 +08:00
// $time = time();
// $noce = md5(time());
2021-03-19 12:48:21 +08:00
// $apikey = 'osoa917321hdjw';
2021-03-15 12:04:06 +08:00
// $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'];
// print_r($xunlian);die;
2021-03-04 14:03:25 +08:00
// die;
// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2021-01-26 18:41:28 +08:00
2020-11-13 15:20:04 +08:00
$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);
2020-11-06 14:23:48 +08:00
2021-03-15 12:04:06 +08:00
$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'];
2021-02-03 09:35:54 +08:00
if(!empty($qiangzi)){
2020-11-13 15:20:04 +08:00
$qiangzi_data = get_product(__DIR__ . '/data/qiangzi.csv');
$qiangzi_f = fopen(__DIR__ . '/data/qiangzi.csv', 'w');
2021-02-03 09:35:54 +08:00
2020-11-06 14:23:48 +08:00
//写入强子文件
2020-11-13 15:20:04 +08:00
qiangzi_getList($qiangzi, $qiangzi_f, $all, $qiangzi_data);
2020-11-06 14:23:48 +08:00
fclose($qiangzi_f);
2021-02-03 09:35:54 +08:00
}
2020-11-06 14:23:48 +08:00
2021-03-15 12:04:06 +08:00
$time = time();
$noce = md5(time());
2021-03-19 12:48:21 +08:00
$apikey = 'osoa917321hdjw';
2021-03-15 12:04:06 +08:00
$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);
}
2020-11-13 15:20:04 +08:00
$xingxing_data = get_product(__DIR__ . '/data/xingxing.csv');
$xingxing_f = fopen(__DIR__ . '/data/xingxing.csv', 'w');
2021-02-23 14:20:04 +08:00
$time = time();
2021-02-23 14:54:38 +08:00
$noce = md5(time());
2021-02-23 14:20:04 +08:00
$apikey = 'd50f2b2ffd421efa67df8efb96d5ff6c';
$sign = md5($time.$noce.$apikey);
$url = "http://106.54.198.154/api/getNodeList?agentid=admin1&ti=".$time."&nonce=".$noce."&sign=".$sign;
2021-02-23 14:54:38 +08:00
$xingxing = json_decode(file_get_contents($url), true)['data'];
2020-11-06 14:23:48 +08:00
//写入星星文件
2021-02-23 14:54:38 +08:00
xingxing_getList($xingxing, $xingxing_f, $all, $xingxing_data);
2020-11-13 15:20:04 +08:00
fclose($xingxing_f);
2020-11-06 14:23:48 +08:00
2020-11-13 15:20:04 +08:00
$jike_data = get_product(__DIR__ . '/data/jike.csv');
$jike_f = fopen(__DIR__ . '/data/jike.csv', 'w');
2020-11-06 14:23:48 +08:00
$jike = json_decode(file_get_contents("http://api.webok.me/beikeiplist/"), true)['data'];
//写入极客文件
2020-11-13 15:20:04 +08:00
jike_getList($jike, $jike_f, $all, $jike_data);
2020-11-06 14:23:48 +08:00
fclose($jike_f);
2021-01-21 16:49:23 +08:00
$xigua_data = get_product(__DIR__ . '/data/xigua.csv');
$xigua_f = fopen(__DIR__ . '/data/xigua.csv', 'w');
$xigua = json_decode(file_get_contents("http://api.webok.me/serverlistyzip/"), true)['data'];
//写入西瓜文件
jike_getList($xigua, $xigua_f, $all, $xigua_data, false);
fclose($xigua_f);
2020-11-13 15:20:04 +08:00
$tiantian_data = get_product(__DIR__ . '/data/tiantian.csv');
$tiantian_f = fopen(__DIR__ . '/data/tiantian.csv', 'w');
2020-12-28 11:57:53 +08:00
$tiantian = json_decode(file_get_contents("http://api.ipzuiduo.com/api/areas?apiid=135&sendtime=" . time() . "&sign=" . md5('apiid=135&sendtime=' . time() . '7dayCFfY6zcwJa6QHtHbGQBRckjJbrbS')), true)['data'];
2020-11-06 14:23:48 +08:00
//写入天天文件
2020-11-13 15:20:04 +08:00
tiantian_getList($tiantian, $tiantian_f, $all, $tiantian_data, '天天');
fclose($tiantian_f);
2020-11-06 14:23:48 +08:00
2021-01-26 18:41:28 +08:00
$mogu_data = get_product(__DIR__ . '/data/mogu.csv');
$mogu_f = fopen(__DIR__ . '/data/mogu.csv', 'w');
// echo 123;
$mogu = json_decode(get_content("http://xjip.hlapi.com/api/area",''), true)['data'];
// print_r($mogu);
//写入蘑菇文件
2021-01-26 18:56:26 +08:00
mogu_getList($mogu, $mogu_f, $all, $mogu_data, '蘑菇');
2021-01-26 18:41:28 +08:00
fclose($mogu_f);
2020-11-13 15:20:04 +08:00
$laoying_data = get_product(__DIR__ . '/data/laoying.csv');
$laoying_f = fopen(__DIR__ . '/data/laoying.csv', 'w');
$laoying = json_decode(get_content('https://dl.ipduoduo.com/api/area?_=1604541004026', $product_list[4]['Token']), true)['data'];
2020-11-06 14:23:48 +08:00
//写入老鹰文件
2020-11-13 15:20:04 +08:00
tiantian_getList($laoying, $laoying_f, $all, $laoying_data, '老鹰');
fclose($laoying_f);
2020-11-06 14:23:48 +08:00
2020-11-13 15:20:04 +08:00
$shihui_data = get_product(__DIR__ . '/data/shihui.csv');
$shihui_f = fopen(__DIR__ . '/data/shihui.csv', 'w');
$shihui = get_content('http://39.96.182.192:8888/agent.html', $product_list[15]['Token']);
2020-11-06 14:23:48 +08:00
//写入实惠文件
2020-11-13 15:20:04 +08:00
shihui_getList($shihui, $shihui_f, $all, $shihui_data);
fclose($shihui_f);
2020-11-06 14:23:48 +08:00
2020-11-13 15:20:04 +08:00
$gongxiang_data = get_product(__DIR__ . '/data/gongxiang.csv');
$gongxiang_f = fopen(__DIR__ . '/data/gongxiang.csv', 'w');
2020-12-05 17:34:59 +08:00
$gongxiang = get_content('http://221.225.83.92:39999/agent/serversList.html', $product_list[14]['Token']);
2020-11-13 15:20:04 +08:00
gongxiang_getList($gongxiang, $gongxiang_f, $all, $gongxiang_data);
fclose($gongxiang_f);
2020-11-06 14:23:48 +08:00
2021-01-19 16:39:08 +08:00
2020-11-06 14:23:48 +08:00
2021-01-10 13:34:31 +08:00
// $wuxian_data = get_product(__DIR__ . '/data/wuxian.csv');
// $wuxian_f = fopen(__DIR__ . '/data/wuxian.csv', 'w');
// $wuxian = get_content('http://221.225.83.92:6888/agent/serversList.html', $product_list[9]['Token']);
// //写入无限文件
// gongxiang_getList($wuxian, $wuxian_f, $all, $wuxian_data, '无限');
// fclose($wuxian_f);
2020-11-07 17:48:11 +08:00
2020-11-13 15:20:04 +08:00
$xianfeng_data = get_product(__DIR__ . '/data/xianfeng.csv');
$xianfeng_f = fopen(__DIR__ . '/data/xianfeng.csv', 'w');
$xianfeng = json_decode(file_get_contents("http://apiserver.pptp.biz/Apiserver/getserver"), true);
2020-11-07 17:48:11 +08:00
//写入先锋文件
2020-11-13 15:20:04 +08:00
xianfeng_getList($xianfeng, $xianfeng_f, $all, $xianfeng_data);
2020-11-07 17:48:11 +08:00
fclose($xianfeng_f);
2020-11-13 15:20:04 +08:00
$jinrui_data = get_product(__DIR__ . '/data/jinrui.csv');
$jinrui_f = fopen(__DIR__ . '/data/jinrui.csv', 'w');
2020-11-07 17:48:11 +08:00
$jinrui = file_get_contents("http://pptp.zhekou5.com/api/getnas.php");
//写入金瑞文件
2020-11-13 15:20:04 +08:00
jinrui_getList($jinrui, $jinrui_f, $all, $jinrui_data);
2020-11-07 17:48:11 +08:00
fclose($jinrui_f);
2020-11-06 14:23:48 +08:00
//星星2288写入all
2020-11-13 15:20:04 +08:00
$file2288 = fopen(__DIR__ . '/data/2288.csv', 'r');
while ($data = fgetcsv($file2288)) {
fputcsv($all, $data);
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
fclose($file2288);
2020-11-06 14:23:48 +08:00
fclose($all);
2020-11-06 16:51:37 +08:00
fclose($dnx_exit);
2020-11-06 14:23:48 +08:00
2020-11-27 10:46:39 +08:00
sleep(5);
auto_format_list();
2020-11-06 14:23:48 +08:00
//强子服务器解析规则
2020-11-13 15:20:04 +08:00
function qiangzi_getList($data, &$file, &$all, $exit)
2020-11-06 14:23:48 +08:00
{
2020-11-13 15:20:04 +08:00
global $dnx_exit, $dnx_has_exit;
$online = ['故障', '正常', '异常'];
$status = ['正常', '拥挤', '超载'];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2021-03-15 12:04:06 +08:00
$province_record = [];
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
foreach ($data as $info) {
$record = [];
2020-11-07 17:48:11 +08:00
$record['name'] = '强子';
2020-11-06 14:23:48 +08:00
//如果存在 不为空 则
2021-03-15 12:04:06 +08:00
$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;
}
2020-11-06 14:23:48 +08:00
} else {
2021-03-15 12:04:06 +08:00
//如果存在 不为空 则
if (!in_array( $city_name[0], $province_record)) {
$record['city'] = $city_name[0];
$province_record[] = $city_name[0];
$key = $record['city'];
$list1[$key][] = $record;
}
2020-11-06 14:23:48 +08:00
}
2021-03-15 12:04:06 +08:00
2021-02-27 13:38:59 +08:00
2021-03-15 12:04:06 +08:00
$record['city'] = $city_name[1];
2020-11-12 14:25:48 +08:00
2021-03-15 12:04:06 +08:00
$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'] = $info['status'] == 1 ? '正常' : '故障';
$record['status'] = '';
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, ['强子', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-06 16:51:37 +08:00
}
2021-03-15 12:04:06 +08:00
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
2021-03-15 12:04:06 +08:00
}
$record['nasname'] = trim($info['host']);
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, ['强子', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-06 14:23:48 +08:00
}
2021-03-15 12:04:06 +08:00
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-12 14:25:48 +08:00
}
}
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
}
//星星服务器解析
2020-11-13 15:20:04 +08:00
function xingxing_getList($data, &$file, &$all, $exit)
2020-11-06 14:23:48 +08:00
{
2020-11-13 15:20:04 +08:00
global $dnx_exit, $dnx_has_exit;
2020-11-26 09:42:47 +08:00
$online = ['故障', '正常', '正常'];
2020-11-06 14:23:48 +08:00
$province_record = [];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-06 14:23:48 +08:00
//省会
2020-11-13 15:20:04 +08:00
$province = ['黑龙', '内蒙'];
$citys = ['北京', '上海', '天津', '重庆'];
2020-11-06 14:23:48 +08:00
foreach ($data as $info) {
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
$record = [];
2020-11-07 17:48:11 +08:00
$record['name'] = '星星';
2021-02-23 14:20:04 +08:00
$province_detail = mb_substr($info['name'], 0, 2);
2020-11-13 15:20:04 +08:00
if (in_array($province_detail, $province)) {
2021-02-23 14:20:04 +08:00
$province_detail = mb_substr($info['name'], 0, 3);
$info['name'] = mb_substr($info['name'], 3);
2020-11-13 15:20:04 +08:00
} elseif (!in_array($province_detail, $citys)) {
2021-02-23 14:20:04 +08:00
$info['name'] = mb_substr($info['name'], 2);
2020-11-13 15:20:04 +08:00
}
if (!in_array($province_detail, $province_record)) {
2020-11-06 14:23:48 +08:00
$record['city'] = $province_detail;
$province_record[] = $province_detail;
2020-11-12 14:25:48 +08:00
$key = $province_detail;
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
2021-02-23 14:20:04 +08:00
$city_ex = explode('电信', $info['name']);
if (strpos($info['name'], '电信') !== false) {
2020-11-13 15:20:04 +08:00
$record['city'] = $city_ex[0] . ($city_ex[1] ?? '');
2020-11-06 14:23:48 +08:00
$record['supply'] = '电信';
2021-02-23 14:20:04 +08:00
} elseif (strpos($info['name'], '联通') !== false) {
2020-11-13 15:20:04 +08:00
$record['city'] = $city_ex[0] . ($city_ex[1] ?? '');
2020-11-06 14:23:48 +08:00
$record['supply'] = '联通';
2021-02-23 14:20:04 +08:00
} elseif (strpos($info['name'], '移动') !== false) {
2020-11-13 15:20:04 +08:00
$record['city'] = $city_ex[0] . ($city_ex[1] ?? '');
2020-11-06 14:23:48 +08:00
$record['supply'] = '移动';
} else {
2021-02-23 14:20:04 +08:00
$record['city'] = $info['name'];
2020-11-06 14:23:48 +08:00
$record['supply'] = '电信/联通';
}
2021-02-23 14:20:04 +08:00
$record['ip'] = strpos($info['name2'], '-') ? explode('-', $info['name2'])[1] : $info['name2'];
2021-03-06 17:19:53 +08:00
$record['daikuan'] = $info['bandwidth'];
2020-11-06 14:23:48 +08:00
$record['onlineuser'] = '';
$record['maxuser'] = '';
2021-02-23 14:20:04 +08:00
$record['online'] = ($info['status'] == 1) ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2021-02-23 14:20:04 +08:00
$record['nasname'] = $info['host'];
2020-11-13 15:20:04 +08:00
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, ['星星', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-12 14:25:48 +08:00
}
$key = $province_detail;
$list1[$key][] = $record;
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-06 16:51:37 +08:00
}
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
}
//极客服务器解析
2021-01-21 16:49:23 +08:00
function jike_getList($data, &$file, &$all, $exit, $is_jike = true)
2020-11-06 14:23:48 +08:00
{
2020-11-13 15:20:04 +08:00
global $dnx_exit, $dnx_has_exit;
$status = ['yes' => '正常', 'no' => '故障'];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
$province_record = [];
foreach ($data as $info) {
$record = [];
2021-01-21 16:49:23 +08:00
if($is_jike){
$record['name'] = '极客';
} else {
$record['name'] = '西瓜';
}
2020-11-06 14:23:48 +08:00
//如果存在 不为空 则
2020-11-13 15:20:04 +08:00
if (!in_array($info['province'], $province_record)) {
2020-11-06 14:23:48 +08:00
$record['city'] = $info['province'];
$province_record[] = $info['province'];
2020-11-12 14:25:48 +08:00
$key = $record['city'];
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
if (empty($info['city'])) {
2020-11-06 14:23:48 +08:00
$record['city'] = '全国混播';
2020-11-13 15:20:04 +08:00
} else {
2020-11-06 14:23:48 +08:00
$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'];
2020-11-13 15:20:04 +08:00
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
2021-02-04 17:02:19 +08:00
fputcsv($dnx_exit, [$record['name'], $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-12 14:25:48 +08:00
}
$list1[$key][] = $record;
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-06 16:51:37 +08:00
}
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
}
//天天服务器解析规则
2020-11-13 15:20:04 +08:00
function tiantian_getList($data, &$file, &$all, $exit, $product_name)
2020-11-06 14:23:48 +08:00
{
2020-11-13 15:20:04 +08:00
global $dnx_exit, $dnx_has_exit;
$status = ['故障', '正常'];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
foreach ($data as $info) {
$record = [];
2020-11-07 17:48:11 +08:00
$record['name'] = $product_name;
2020-11-06 14:23:48 +08:00
$record['city'] = $info['name'];
2020-11-12 14:25:48 +08:00
$key = $record['city'];
$list1[$key][] = $record;
2020-11-13 15:20:04 +08:00
foreach ($info['areas'] as $v) {
2020-11-06 14:23:48 +08:00
2020-11-13 15:20:04 +08:00
if (strpos($v['name'], '电信') !== false) {
$record['city'] = explode('电信', $v['name'])[0];
2020-11-06 14:23:48 +08:00
$record['supply'] = '电信';
2020-11-13 15:20:04 +08:00
} elseif (strpos($v['name'], '联通') !== false) {
$record['city'] = explode('联通', $v['name'])[0];
2020-11-06 14:23:48 +08:00
$record['supply'] = '联通';
2020-11-13 15:20:04 +08:00
} elseif (strpos($v['name'], '移动') !== false) {
$record['city'] = explode('移动', $v['name'])[0];
2020-11-06 14:23:48 +08:00
$record['supply'] = '移动';
} else {
$record['city'] = $v['name'];
$record['supply'] = '电信/联通';
}
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = empty($v['status']) ? '故障' : $status[$v['status']];
2020-11-06 14:23:48 +08:00
$record['status'] = '';
$record['nasname'] = $v['address'];
2020-11-13 15:20:04 +08:00
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, [$product_name, $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-06 16:51:37 +08:00
}
2020-11-12 14:25:48 +08:00
$list1[$key][] = $record;
}
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-06 14:23:48 +08:00
}
}
2020-11-13 15:20:04 +08:00
2020-11-06 14:23:48 +08:00
}
2021-01-26 18:41:28 +08:00
//蘑菇服务器解析规则
function mogu_getList($data, &$file, &$all, $exit, $product_name)
{
global $dnx_exit, $dnx_has_exit;
$status = ['故障', '正常'];
$key = '';
$list1 = [];
2021-01-26 18:43:34 +08:00
// print_r($data);
2021-01-26 18:41:28 +08:00
foreach ($data as $info) {
$record = [];
$record['name'] = $product_name;
$record['city'] = $info['title'];
$key = $record['city'];
$list1[$key][] = $record;
foreach ($info['children'] as $v) {
if (strpos($v['title'], '电信') !== false) {
$record['city'] = explode('电信', $v['title'])[0];
$record['supply'] = '电信';
} elseif (strpos($v['title'], '联通') !== false) {
$record['city'] = explode('联通', $v['title'])[0];
$record['supply'] = '联通';
} elseif (strpos($v['title'], '移动') !== false) {
$record['city'] = explode('移动', $v['title'])[0];
$record['supply'] = '移动';
} else {
$record['city'] = $v['title'];
$record['supply'] = '电信/联通';
}
$record['ip'] = '';
$record['daikuan'] = $v['bandwidth'];
$record['onlineuser'] = '';
$record['maxuser'] = '';
2021-01-27 16:21:55 +08:00
$record['online'] = $v['status'] ? '正常' : '故障';
2021-01-26 18:41:28 +08:00
$record['status'] = '';
$record['nasname'] = $v['address'][0];
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, [$product_name, $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);
}
}
}
2020-11-13 15:20:04 +08:00
function shihui_getList($html, &$file, &$all, $exit)
{
2021-02-23 14:20:04 +08:00
// global $dnx_exit, $dnx_has_exit;
// $key = '';
// $list1 = [];
// preg_match("/<p>(.*\s*?)<p>&nbsp;<\/p><\/div>/is", $html, $result);
// preg_match_all("/<p>(.*?)<\/p>/is", $result[0], $result);
// foreach ($result[0] as $k => $info) {
// $record = [];
// $record['name'] = '实惠';
// if ($k == 0 || $k == 5) {
// continue;
// } else {
// $list = explode('<br />', $info);
// $i = 0;
// foreach ($list as $v) {
// $v = trim($v);
// $v = trim(str_replace('&nbsp;', '', $v), '</p>');
// if ($i == 0 && !empty($v)) {
// $record['city'] = $v;
// $key = $record['city'];
// $list1[$key][] = $record;
// } else {
// if (!empty($v)) {
// $data = explode(' ', $v);
// $add_data = explode('市', $data[0]);
// $record['city'] = mb_substr($add_data[0], 2);
// $record['supply'] = $add_data[1];
// $record['ip'] = '';
// $record['daikuan'] = '';
// $record['onlineuser'] = '';
// $record['maxuser'] = '';
// $record['online'] = '';
// $record['status'] = '';
// $record['nasname'] = $data[count($data) - 1];
// if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
// fputcsv($dnx_exit, ['实惠', $record['nasname'], date('Y-m-d H:i:s')]);
// }
// $list1[$key][] = $record;
// }
// }
// $i++;
// }
// }
// }
// foreach ($list1 as $val) {
// foreach ($val as $net_data) {
// fputcsv($file, $net_data);
// fputcsv($all, $net_data);
// }
// }
2020-11-06 14:23:48 +08:00
}
//共享
2020-11-13 15:20:04 +08:00
function gongxiang_getList($html, &$file, &$all, $exit, $pro = '共享')
{
global $dnx_exit, $dnx_has_exit;
2020-11-06 14:23:48 +08:00
//省会
2020-11-13 15:20:04 +08:00
$province = ['黑龙', '内蒙'];
2020-11-06 14:23:48 +08:00
$province_record = [];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-09 11:01:45 +08:00
preg_match_all("/<tr(.*?)<\/tr>/is", $html, $result);
2020-11-13 15:20:04 +08:00
foreach ($result[0] as $k => $info) {
2020-11-06 14:23:48 +08:00
$record = [];
2020-11-09 11:01:45 +08:00
$record['name'] = $pro;
$records['name'] = $pro;
2020-11-13 15:20:04 +08:00
if ($k == 0) {
2020-11-06 14:23:48 +08:00
continue;
} else {
2020-11-09 11:01:45 +08:00
preg_match_all("/<td>(.*?)<\/td>/is", $info, $result);
$info = $result[0];
2020-11-13 15:20:04 +08:00
foreach ($info as $i => $v) {
$info[$i] = ltrim($info[$i], '<td>');
$info[$i] = rtrim($info[$i], '</td>');
2020-11-06 14:23:48 +08:00
}
2020-11-09 11:01:45 +08:00
$nasname = $info[1];
2020-11-06 14:23:48 +08:00
2020-11-09 11:01:45 +08:00
$data[1] = $info[2];
2020-11-13 15:20:04 +08:00
if (strpos($data[1], '电信') !== false) {
2020-11-09 11:01:45 +08:00
$supply = '电信';
2020-11-13 15:20:04 +08:00
$data[1] = mb_substr($data[1], 0, mb_strlen($data[1]) - 2);
} elseif (strpos($data[1], '联通') !== false) {
2020-11-09 11:01:45 +08:00
$supply = '联通';
2020-11-13 15:20:04 +08:00
$data[1] = mb_substr($data[1], 0, mb_strlen($data[1]) - 2);
} elseif (strpos($data[1], '移动') !== false) {
2020-11-09 11:01:45 +08:00
$supply = '移动';
2020-11-13 15:20:04 +08:00
$data[1] = mb_substr($data[1], 0, mb_strlen($data[1]) - 2);
2020-11-06 14:23:48 +08:00
} else {
2020-11-09 11:01:45 +08:00
$supply = '电信/联通';
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
if (mb_strlen($data[1]) <= 3) {
if (!in_array($data[1], $province_record)) {
2020-11-06 14:23:48 +08:00
$record['city'] = $data[1];
2020-11-09 11:01:45 +08:00
$record['supply'] = $supply;
2020-11-06 14:23:48 +08:00
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = strpos($info[4], '在线') ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2020-11-09 11:01:45 +08:00
$record['nasname'] = $nasname;
2020-11-06 14:23:48 +08:00
$records['city'] = $data[1];
$province_record[] = $data[1];
2020-11-13 15:20:04 +08:00
if (in_array($record['city'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
$key = $record['city'];
$list1[$key][] = $records;
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
} else {
$record['city'] = $data[1];
2020-11-09 11:01:45 +08:00
$record['supply'] = $supply;
2020-11-06 14:23:48 +08:00
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = strpos($info[4], '在线') ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2020-11-09 11:01:45 +08:00
$record['nasname'] = $nasname;
2020-11-13 15:20:04 +08:00
if (in_array($record['city'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
} else {
2020-11-13 15:20:04 +08:00
$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);
2020-11-09 11:01:45 +08:00
$record['supply'] = $supply;
2020-11-06 14:23:48 +08:00
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = strpos($info[4], '在线') ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2020-11-09 11:01:45 +08:00
$record['nasname'] = $nasname;
2020-11-13 15:20:04 +08:00
if (in_array($record['city'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
} else {
2020-11-13 15:20:04 +08:00
$record['city'] = mb_substr($data['1'], 3);
2020-11-09 11:01:45 +08:00
$record['supply'] = $supply;
2020-11-06 14:23:48 +08:00
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = strpos($info[4], '在线') ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2020-11-09 11:01:45 +08:00
$record['nasname'] = $nasname;
2020-11-06 14:23:48 +08:00
$records['city'] = $province_detail;
$province_record[] = $province_detail;
2020-11-13 15:20:04 +08:00
if (in_array($record['city'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
$list1[$key][] = $records;
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
} else {
2020-11-13 15:20:04 +08:00
$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);
2020-11-09 11:01:45 +08:00
$record['supply'] = $supply;
2020-11-06 14:23:48 +08:00
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = strpos($info[4], '在线') ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2020-11-09 11:01:45 +08:00
$record['nasname'] = $nasname;
2020-11-13 15:20:04 +08:00
if (in_array($record['city'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
} else {
2020-11-13 15:20:04 +08:00
$record['city'] = mb_substr($data['1'], 2);
2020-11-09 11:01:45 +08:00
$record['supply'] = $supply;
2020-11-06 14:23:48 +08:00
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = strpos($info[4], '在线') ? '正常' : '故障';
2020-11-06 14:23:48 +08:00
$record['status'] = '';
2020-11-09 11:01:45 +08:00
$record['nasname'] = $nasname;
2020-11-06 14:23:48 +08:00
$records['city'] = $province_detail;
$province_record[] = $province_detail;
2020-11-13 15:20:04 +08:00
if (in_array($record['city'], ['曾', '龙'])) {
2020-11-12 14:25:48 +08:00
continue;
}
$list1[$key][] = $records;
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
}
}
}
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
$net_data['city'] = str_replace('电信', '', $net_data['city']);
$net_data['city'] = str_replace('联通', '', $net_data['city']);
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-12 14:25:48 +08:00
}
}
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
function xunlian_getList($data, &$file, &$all, $exit)
{
global $dnx_exit, $dnx_has_exit;
2021-03-15 12:04:06 +08:00
$online = ['故障', '正常', '异常'];
$status = ['正常', '拥挤', '超载'];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-06 14:23:48 +08:00
$province_record = [];
2021-03-15 12:04:06 +08:00
2020-11-13 15:20:04 +08:00
foreach ($data as $info) {
2020-11-06 14:23:48 +08:00
$record = [];
2021-03-15 12:04:06 +08:00
$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'];
2020-11-12 14:25:48 +08:00
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
} else {
2021-03-15 12:04:06 +08:00
//如果存在 不为空 则
if (!in_array( $city_name[0], $province_record)) {
$record['city'] = $city_name[0];
$province_record[] = $city_name[0];
$key = $record['city'];
2020-11-12 14:25:48 +08:00
$list1[$key][] = $record;
2020-11-13 15:20:04 +08:00
}
2020-11-06 14:23:48 +08:00
}
2021-03-15 12:04:06 +08:00
2020-11-06 14:23:48 +08:00
2021-03-15 12:04:06 +08:00
$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'] = $info['status'] == 1 ? '正常' : '故障';
$record['status'] = '';
if(!empty($info['host2'])){
$nas_list = explode(',',$info['host2']);
foreach ($nas_list as $nas) {
$record['nasname'] = trim($nas);
2020-11-13 15:20:04 +08:00
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
2021-03-15 12:04:06 +08:00
fputcsv($dnx_exit, ['迅连', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-06 16:51:37 +08:00
}
2021-03-15 12:04:06 +08:00
2020-11-12 14:25:48 +08:00
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
2021-03-15 12:04:06 +08:00
}
$record['nasname'] = trim($info['host']);
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, ['迅联', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-06 14:23:48 +08:00
}
2021-03-15 12:04:06 +08:00
$list1[$key][] = $record;
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-12 14:25:48 +08:00
}
}
2020-11-06 14:23:48 +08:00
}
2020-11-13 15:20:04 +08:00
function wuxian_getList($html, &$file, &$all, $exit)
{
2021-02-23 14:20:04 +08:00
// global $dnx_exit, $dnx_has_exit;
// //省会
// $province = ['黑龙', '内蒙'];
// $province_record = [];
// $key = '';
// $list1 = [];
// $citys = ['北京', '上海', '天津', '重庆'];
// preg_match("/<div>&nbsp;<\/div>(.*?)<\/div><\/div>/is", $html, $result);
// $result = str_replace('<div>&nbsp;</div>', '', $result[0]);
// preg_match_all("/<div>(.*?)<\/div>/is", $result, $result);
// foreach ($result[0] as $k => $info) {
// $record = [];
// $record['name'] = '无限';
// $info = ltrim($info, '<div>');
// $info = rtrim($info, '</div>');
// if (strpos($info, 'span') !== false) {
// $data = explode('<span class="Apple-tab-span" style="white-space:pre"> </span>', $info);
// } else {
// $data = explode(' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;', $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('&lt;', '', $record['city']);
// $record['city'] = str_replace('&gt;', '', $record['city']);
// $record['supply'] = '电信';
// } elseif (strpos($data[1], '联通') !== false) {
// $record['city'] = explode('联通', $data[1])[0];
// $record['city'] = str_replace('&lt;', '', $record['city']);
// $record['city'] = str_replace('&gt;', '', $record['city']);
// $record['supply'] = '联通';
// } elseif (strpos($data[1], '移动') !== false) {
// $record['city'] = explode('移动', $data[1])[0];
// $record['city'] = str_replace('&lt;', '', $record['city']);
// $record['city'] = str_replace('&gt;', '', $record['city']);
// $record['supply'] = '移动';
// } else {
// $record['city'] = $data[1];
// $record['city'] = str_replace('&lt;', '', $record['city']);
// $record['city'] = str_replace('&gt;', '', $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, ['无限', $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);
// }
// }
2020-11-07 17:48:11 +08:00
}
2020-11-13 15:20:04 +08:00
function xianfeng_getList($data, &$file, &$all, $exit)
{
global $dnx_exit, $dnx_has_exit;
2020-11-07 17:48:11 +08:00
//省会
2020-11-13 15:20:04 +08:00
$province = ['黑龙', '内蒙', '直辖'];
2020-11-07 17:48:11 +08:00
$province_record = [];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-13 15:20:04 +08:00
$status = ['维护中', '正常'];
2020-11-07 17:48:11 +08:00
foreach ($data as $info) {
$record = [];
$record['name'] = '先锋';
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
$info['description'] = trim($info['description'], 'a');
if (strpos($info['description'], '混播') || strpos($info['description'], '所有单城市')) {
2020-11-07 17:48:11 +08:00
$province_detail = '混播';
2020-11-13 15:20:04 +08:00
if (!in_array($province_detail, $province_record)) {
2020-11-07 17:48:11 +08:00
$record['city'] = $province_detail;
$province_record[] = $province_detail;
2020-11-12 14:25:48 +08:00
$key = $record['city'];
$list1[$key][] = $record;
2020-11-07 17:48:11 +08:00
}
$record['city'] = $info['description'];
$record['supply'] = '电信/联通';
} else {
2020-11-13 15:20:04 +08:00
$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)) {
2020-11-07 17:48:11 +08:00
$record['city'] = $province_detail;
$province_record[] = $province_detail;
2020-11-12 14:25:48 +08:00
$key = $record['city'];
$list1[$key][] = $record;
2020-11-07 17:48:11 +08:00
}
2020-12-04 18:53:22 +08:00
$key = $province_detail;
2020-11-13 15:20:04 +08:00
if (strpos($info['description'], '电信') !== false) {
2020-11-07 17:48:11 +08:00
$record['city'] = $info['description'];
$record['supply'] = '电信';
2020-11-13 15:20:04 +08:00
} elseif (strpos($info['description'], '联通') !== false) {
2020-11-07 17:48:11 +08:00
$record['city'] = $info['description'];
$record['supply'] = '联通';
2020-11-13 15:20:04 +08:00
} elseif (strpos($info['description'], '移动') !== false) {
2020-11-07 17:48:11 +08:00
$record['city'] = $info['description'];
$record['supply'] = '移动';
} else {
$record['city'] = $info['description'];
$record['supply'] = '电信/联通';
}
}
$record['ip'] = '';
2020-11-13 15:20:04 +08:00
$record['daikuan'] = $info['description2'];
$record['onlineuser'] = $info['onlineuser'];
$record['maxuser'] = $info['maxuser'];
$record['online'] = ($info['status'] == 1) ? '正常' : '故障';
$status_flag = $info['onlineuser'] / $info['maxuser'];
2020-11-07 17:48:11 +08:00
$record['status'] = '';
2020-11-13 15:20:04 +08:00
if ($status_flag < 0.9) {
$record['status'] = '正常';
2020-11-26 09:48:20 +08:00
} elseif ($status_flag < 0.1) {
2020-11-13 15:20:04 +08:00
$record['status'] = '拥挤';
} else {
$record['status'] = '满载';
}
2020-11-07 17:48:11 +08:00
$record['nasname'] = $info['nasname'];
2020-11-13 15:20:04 +08:00
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, ['先锋', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-12 14:25:48 +08:00
}
$list1[$key][] = $record;
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
$net_data['city'] = str_replace('电信', '', $net_data['city']);
$net_data['city'] = str_replace('联通', '', $net_data['city']);
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
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);
2020-11-07 17:48:11 +08:00
}
}
}
2020-11-13 15:20:04 +08:00
function jinrui_getList($html, &$file, &$all, $exit)
{
global $dnx_exit, $dnx_has_exit;
2020-11-07 17:48:11 +08:00
//省会
$province_record = [];
2020-11-12 14:25:48 +08:00
$key = '';
$list1 = [];
2020-11-07 17:48:11 +08:00
preg_match_all("/\{(.*?)\}/is", $html, $result);
foreach ($result[0] as $info) {
2020-11-13 15:20:04 +08:00
$info = json_decode($info, true);
if (empty($info)) {
2020-11-07 17:48:11 +08:00
continue;
}
$record = [];
$record['name'] = '金瑞';
2020-11-13 15:20:04 +08:00
if (!in_array($info['province'], $province_record)) {
2020-11-07 17:48:11 +08:00
$record['city'] = $info['province'];
$province_record[] = $info['province'];
2020-11-12 14:25:48 +08:00
$key = $record['city'];
$list1[$key][] = $record;
2020-11-07 17:48:11 +08:00
}
2020-11-13 15:20:04 +08:00
if (empty($info['city'])) {
$record['city'] = $info['province'];
} else {
2020-11-07 17:48:11 +08:00
$record['city'] = $info['city'];
}
$record['supply'] = $info['isp'];
$record['ip'] = '';
$record['daikuan'] = '';
$record['onlineuser'] = '';
$record['maxuser'] = '';
2020-11-13 15:20:04 +08:00
$record['online'] = $info['status'] == 1 ? '正常' : '故障';
2020-11-07 17:48:11 +08:00
$record['status'] = '';
2020-11-13 15:20:04 +08:00
$nasname = explode('|', $info['nasname']);
foreach ($nasname as $v) {
2020-11-07 17:48:11 +08:00
$record['nasname'] = $v;
2020-11-13 15:20:04 +08:00
if (!in_array($record['nasname'], $exit) && !in_array($record['nasname'], $dnx_has_exit)) {
fputcsv($dnx_exit, ['金瑞', $record['nasname'], date('Y-m-d H:i:s')]);
2020-11-07 17:48:11 +08:00
}
2020-11-12 14:25:48 +08:00
$list1[$info['province']][] = $record;
}
}
2020-11-13 15:20:04 +08:00
foreach ($list1 as $val) {
foreach ($val as $net_data) {
2020-11-12 14:25:48 +08:00
2020-11-13 15:20:04 +08:00
fputcsv($file, $net_data);
fputcsv($all, $net_data);
2020-11-07 17:48:11 +08:00
}
}
}
2020-11-13 15:20:04 +08:00
function get_content($url, $cookie)
{
2021-01-26 18:41:28 +08:00
$product_model = new Product;
$product_token = $product_model->where(['Id'=>18])->field('Id,Token')->fetch()['Token'];
$header = [
'Authorization: Bearer '.$product_token,
];
// print_r($header);
2020-11-06 14:23:48 +08:00
$ch = curl_init();
2020-11-13 15:20:04 +08:00
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
2021-01-26 18:41:28 +08:00
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
2020-11-13 15:20:04 +08:00
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie); //读取cookie
$rs = curl_exec($ch); //执行cURL抓取页面内容
2021-01-26 18:41:28 +08:00
// print_r($rs);
2020-11-13 15:20:04 +08:00
curl_close($ch);
return $rs;
2020-11-06 16:51:37 +08:00
}
2020-11-13 15:20:04 +08:00
function get_product($file_path, $num = 9)
{
2020-11-06 16:51:37 +08:00
$list = [];
2020-11-13 15:20:04 +08:00
$file = fopen($file_path, 'r');
while ($info = fgetcsv($file)) {
if (isset($info[$num])) {
2020-11-06 16:51:37 +08:00
$list[] = $info[$num];
2020-11-13 15:20:04 +08:00
}
2020-11-06 16:51:37 +08:00
}
2020-11-13 15:20:04 +08:00
fclose($file);
2020-11-06 16:51:37 +08:00
return $list;
2020-11-07 17:48:11 +08:00
}
2020-11-13 15:20:04 +08:00
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)); //要提交的信息
2020-11-07 17:48:11 +08:00
$rs = curl_exec($curl); //执行cURL抓取页面内容
2020-11-13 15:20:04 +08:00
curl_close($curl);
return $rs;
}