蘑菇线路表

This commit is contained in:
“wanyongkang”
2021-01-26 18:41:28 +08:00
parent a0e88e067f
commit 09373d5645
4 changed files with 87 additions and 0 deletions

View File

@@ -15,6 +15,10 @@ use app\api\model\Product;
$product_model = new Product;
$product_list = $product_model->field('Id,Token')->fetchAll();
// die;
$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);
@@ -54,6 +58,15 @@ $tiantian = json_decode(file_get_contents("http://api.ipzuiduo.com/api/areas?api
tiantian_getList($tiantian, $tiantian_f, $all, $tiantian_data, '天天');
fclose($tiantian_f);
$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);
//写入蘑菇文件
mogu_getList($mogu, $mogu_f, $all, $mogu_data, 'mogu');
fclose($mogu_f);
$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'];
@@ -368,6 +381,61 @@ function tiantian_getList($data, &$file, &$all, $exit, $product_name)
}
//蘑菇服务器解析规则
function mogu_getList($data, &$file, &$all, $exit, $product_name)
{
global $dnx_exit, $dnx_has_exit;
$status = ['故障', '正常'];
$key = '';
$list1 = [];
print_r($data);
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'] = '';
$record['online'] = empty($v['status']) ? '故障' : $status[$v['status']];
$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);
}
}
}
function shihui_getList($html, &$file, &$all, $exit)
{
global $dnx_exit, $dnx_has_exit;
@@ -888,12 +956,22 @@ function jinrui_getList($html, &$file, &$all, $exit)
function get_content($url, $cookie)
{
$product_model = new Product;
$product_token = $product_model->where(['Id'=>18])->field('Id,Token')->fetch()['Token'];
$header = [
'Authorization: Bearer '.$product_token,
];
// print_r($header);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie); //读取cookie
$rs = curl_exec($ch); //执行cURL抓取页面内容
// print_r($rs);
curl_close($ch);
return $rs;
}