服务器列表3
This commit is contained in:
19
app/api/model/Product.php
Normal file
19
app/api/model/Product.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/*
|
||||
* @Descripttion:
|
||||
* @version:
|
||||
* @Author: kangkang
|
||||
* @Date: 2020-10-22 16:13:41
|
||||
* @LastEditors: kangkang
|
||||
* @LastEditTime: 2020-11-07 17:14:39
|
||||
*/
|
||||
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use fastphp\base\Model;
|
||||
|
||||
class Product extends Model
|
||||
{
|
||||
protected $table = 'product';
|
||||
}
|
||||
@@ -5,95 +5,172 @@
|
||||
* @Author: kangkang
|
||||
* @Date: 2020-11-06 14:32:57
|
||||
* @LastEditors: kangkang
|
||||
* @LastEditTime: 2020-11-06 15:24:49
|
||||
* @LastEditTime: 2020-11-07 17:00:36
|
||||
*/
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
header("Access-Control-Allow-Methods: *");
|
||||
header('Access-Control-Allow-Headers:*');
|
||||
header("Access-Control-Allow-Credentials: true");
|
||||
$id = $_GET['product'];
|
||||
switch($id){
|
||||
case 0:
|
||||
format_product('./all.csv');
|
||||
format_all_product(__DIR__.'/data/all.csv');
|
||||
break;
|
||||
case 8:
|
||||
format_xingxing('./xingxing.csv','2288.csv');
|
||||
format_xingxing(__DIR__.'/data/xingxing.csv','2288.csv','xxip.vip');
|
||||
break;
|
||||
case 6:
|
||||
format_product('./xianfeng.csv');
|
||||
format_product(__DIR__.'/data/xianfeng.csv','xfip.vip');
|
||||
break;
|
||||
case 13:
|
||||
format_product('./jike.csv');
|
||||
format_product(__DIR__.'/data/jike.csv','jkip.com');
|
||||
break;
|
||||
case 1:
|
||||
format_product('./qiangzi.csv');
|
||||
format_product(__DIR__.'/data/qiangzi.csv','qzip.vip');
|
||||
break;
|
||||
case 2:
|
||||
format_product('./xunlian.csv');
|
||||
format_product(__DIR__.'/data/xunlian.csv','xlip.vip');
|
||||
break;
|
||||
case 14:
|
||||
format_product('./tiantian.csv');
|
||||
format_product(__DIR__.'/data/tiantian.csv','ttip.cn');
|
||||
break;
|
||||
case 5:
|
||||
format_product('./laoying.csv');
|
||||
format_product(__DIR__.'/data/laoying.csv','lyip.vip');
|
||||
break;
|
||||
case 4:
|
||||
format_product('./jinrui.csv');
|
||||
format_product(__DIR__.'/data/jinrui.csv','jrip.vip');
|
||||
break;
|
||||
case 10:
|
||||
format_product('./wuxian.csv');
|
||||
format_product(__DIR__.'/data/wuxian.csv','wxip.net');
|
||||
break;
|
||||
case 16:
|
||||
format_product('./shihui.csv');
|
||||
format_product(__DIR__.'/data/shihui.csv','shihui');
|
||||
break;
|
||||
case 15:
|
||||
format_product('./gongxiang.csv');
|
||||
format_product(__DIR__.'/data/gongxiang.csv');
|
||||
break;
|
||||
}
|
||||
|
||||
function format_product($file_path){
|
||||
function format_all_product($file_path){
|
||||
$list = [];
|
||||
$dns = '';
|
||||
$file = fopen($file_path,'r');
|
||||
while ($info = fgetcsv($file)) {
|
||||
$data['city'] = $info[0];
|
||||
$data['supply'] = $info[1];
|
||||
$data['ip'] = $info[2];
|
||||
$data['daikuan'] = $info[3];
|
||||
$data['onlineuser'] = $info[4];
|
||||
$data['maxuser'] = $info[5];
|
||||
$data['online'] = $info[6];
|
||||
$data['status'] = $info[7];
|
||||
$data['nasname'] = $info[8];
|
||||
$data['name'] = $info[0];
|
||||
switch($data['name']){
|
||||
case '星星':
|
||||
$dns = 'xxip.vip';
|
||||
break;
|
||||
case '先锋':
|
||||
$dns = 'xfip.vip';
|
||||
break;
|
||||
case '极客':
|
||||
$dns = 'jkip.com';
|
||||
break;
|
||||
case '强子':
|
||||
$dns = 'qzip.vip';
|
||||
break;
|
||||
case '讯连':
|
||||
$dns = 'xlip.vip';
|
||||
break;
|
||||
case '天天':
|
||||
$dns = 'ttip.cn';
|
||||
break;
|
||||
case '老鹰':
|
||||
$dns = 'lyip.vip';
|
||||
break;
|
||||
case '金瑞':
|
||||
$dns = 'jrip.vip';
|
||||
break;
|
||||
case '无限':
|
||||
$dns = 'wxip.net';
|
||||
break;
|
||||
case '实惠':
|
||||
$dns = 'shihui';
|
||||
break;
|
||||
case '共享':
|
||||
$dns = '';
|
||||
break;
|
||||
}
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
if($dns!='shihui'){
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
} else {
|
||||
$data['nasname'] = $info[9];
|
||||
}
|
||||
$list[] = $data;
|
||||
}
|
||||
fclose($file);
|
||||
echo json_encode(['data'=>$list]);
|
||||
}
|
||||
|
||||
function format_xingxing($file_path1,$file_path2){
|
||||
function format_product($file_path,$dns = ''){
|
||||
$list = [];
|
||||
$file = fopen($file_path,'r');
|
||||
while ($info = fgetcsv($file)) {
|
||||
$data['name'] = $info[0];
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
if($dns!='shihui'){
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
} else {
|
||||
$data['nasname'] = $info[9];
|
||||
}
|
||||
$list[] = $data;
|
||||
}
|
||||
fclose($file);
|
||||
echo json_encode(['data'=>$list]);
|
||||
}
|
||||
|
||||
function format_xingxing($file_path1,$file_path2,$dns){
|
||||
$list1 = [];
|
||||
$list2 = [];
|
||||
$file1 = fopen($file_path1,'r');
|
||||
$file2 = fopen($file_path2,'r');
|
||||
while ($info = fgetcsv($file1)) {
|
||||
$data['city'] = $info[0];
|
||||
$data['supply'] = $info[1];
|
||||
$data['ip'] = $info[2];
|
||||
$data['daikuan'] = $info[3];
|
||||
$data['onlineuser'] = $info[4];
|
||||
$data['maxuser'] = $info[5];
|
||||
$data['online'] = $info[6];
|
||||
$data['status'] = $info[7];
|
||||
$data['nasname'] = $info[8];
|
||||
$data['name'] = $info[0];
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
$list1[] = $data;
|
||||
}
|
||||
while ($info = fgetcsv($file2)) {
|
||||
$data['city'] = $info[0];
|
||||
$data['supply'] = $info[1];
|
||||
$data['ip'] = $info[2];
|
||||
$data['daikuan'] = $info[3];
|
||||
$data['onlineuser'] = $info[4];
|
||||
$data['maxuser'] = $info[5];
|
||||
$data['online'] = $info[6];
|
||||
$data['status'] = $info[7];
|
||||
$data['nasname'] = $info[8];
|
||||
$data['name'] = $info[0];
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
$list2[] = $data;
|
||||
}
|
||||
|
||||
fclose($file1);
|
||||
fclose($file2);
|
||||
$list = array_merge($list1,$list2);
|
||||
|
||||
@@ -5,72 +5,98 @@
|
||||
* @Author: kangkang
|
||||
* @Date: 2020-11-03 11:04:15
|
||||
* @LastEditors: kangkang
|
||||
* @LastEditTime: 2020-11-06 16:47:03
|
||||
* @LastEditTime: 2020-11-07 17:34:32
|
||||
*/
|
||||
|
||||
$is_script = 1;
|
||||
include __DIR__ . '/../../index.php';
|
||||
use app\api\model\Product;
|
||||
$product_model = new Product;
|
||||
$product_list = $product_model->field('Id,Token')->fetchAll();
|
||||
|
||||
|
||||
$all = fopen('./all.csv','w');
|
||||
$dnx_exit = fopen('./dns_diff.csv','a');
|
||||
$dnx_has_exit = get_product('./dns_diff.csv',1);
|
||||
$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);
|
||||
|
||||
$qiangzi_data = get_product('./qiangzi.csv');
|
||||
$qiangzi_f = fopen('./qiangzi.csv','w');
|
||||
$qiangzi_data = get_product(__DIR__.'/data/qiangzi.csv');
|
||||
$qiangzi_f = fopen(__DIR__.'/data/qiangzi.csv','w');
|
||||
$qiangzi = json_decode(file_get_contents("http://47.92.116.14:2222/api/areaPool.html?type=json"), true);
|
||||
//写入强子文件
|
||||
qiangzi_getList($qiangzi,$qiangzi_f,$all,$qiangzi_data);
|
||||
fclose($qiangzi_f);
|
||||
|
||||
$xingxing_data = get_product('./xingxing.csv');
|
||||
$xingxing_f = fopen('./xingxing.csv','w');
|
||||
$xingxing_data = get_product(__DIR__.'/data/xingxing.csv');
|
||||
$xingxing_f = fopen(__DIR__.'/data/xingxing.csv','w');
|
||||
$xingxing = json_decode(file_get_contents("http://47.110.154.124:6930/api/nasStatus.html?format=json"), true);
|
||||
//写入星星文件
|
||||
xingxing_getList($xingxing,$xingxing_f,$all,$xingxing_data);
|
||||
fclose($xingxing_f);
|
||||
|
||||
$jike_data = get_product('./jike.csv');
|
||||
$jike_f = fopen('./jike.csv','w');
|
||||
$jike_data = get_product(__DIR__.'/data/jike.csv');
|
||||
$jike_f = fopen(__DIR__.'/data/jike.csv','w');
|
||||
$jike = json_decode(file_get_contents("http://api.webok.me/beikeiplist/"), true)['data'];
|
||||
//写入极客文件
|
||||
jike_getList($jike,$jike_f,$all,$jike_data);
|
||||
fclose($jike_f);
|
||||
|
||||
$tiantian_data = get_product('./tiantian.csv');
|
||||
$tiantian_f = fopen('./tiantian.csv','w');
|
||||
$tiantian_data = get_product(__DIR__.'/data/tiantian.csv');
|
||||
$tiantian_f = fopen(__DIR__.'/data/tiantian.csv','w');
|
||||
$tiantian = json_decode(file_get_contents("http://api.ipzuiduo.com/api/areas?apiid=135&sendtime=".time()."&sign=".md5('apiid=135&sendtime='.time().'Fz1JRXVBCuwja2G2SoY2EUdgXtCGSBXS')), true)['data'];
|
||||
//写入天天文件
|
||||
tiantian_getList($tiantian,$tiantian_f,$all,$tiantian_data,'天天');
|
||||
fclose($tiantian_f);
|
||||
|
||||
$laoying_data = get_product('./laoying.csv');
|
||||
$laoying_f = fopen('./laoying.csv','w');
|
||||
$laoying = json_decode(get_content('https://dl.ipduoduo.com/api/area?_=1604541004026','_dailissid=b3da7e1676537db8a36b7e4778bfed50c4f388237dc4e71d2e09386fe927a8927cd506150a323beda7f3a8330fa7665d31e3a712b14513c61529290a'), true)['data'];
|
||||
$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'];
|
||||
//写入老鹰文件
|
||||
tiantian_getList($laoying,$laoying_f,$all,$laoying_data,'老鹰');
|
||||
fclose($laoying_f);
|
||||
|
||||
$shihui_data = get_product('./shihui.csv');
|
||||
$shihui_f = fopen('./shihui.csv','w');
|
||||
$shihui = get_content('http://39.96.182.192:8888/agent.html','PHPSESSID=4215spk7em5u4kutgaro65l9f1; menuid=submenu_profile');
|
||||
$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']);
|
||||
//写入实惠文件
|
||||
shihui_getList($shihui,$shihui_f,$all,$shihui_data);
|
||||
fclose($shihui_f);
|
||||
|
||||
$gongxiang_data = get_product('./gongxiang.csv');
|
||||
$gongxiang_f = fopen('./gongxiang.csv','w');
|
||||
$gongxiang = get_content('http://118.25.157.170:39999/agent.html','PHPSESSID=hqk8ih6l4hbpp75a7g2sfb3l41');
|
||||
$gongxiang_data = get_product(__DIR__.'/data/gongxiang.csv');
|
||||
$gongxiang_f = fopen(__DIR__.'/data/gongxiang.csv','w');
|
||||
$gongxiang = get_content('http://118.25.157.170:39999/agent.html',$product_list[14]['Token']);
|
||||
gongxiang_getList($gongxiang,$gongxiang_f,$all,$gongxiang_data);
|
||||
fclose($gongxiang_f);
|
||||
|
||||
$xunlian_data = get_product('./xunlian.csv');
|
||||
$xunlian_f = fopen('./xunlian.csv','w');
|
||||
$xunlian_data = get_product(__DIR__.'/data/xunlian.csv');
|
||||
$xunlian_f = fopen(__DIR__.'/data/xunlian.csv','w');
|
||||
$xunlian = json_decode(file_get_contents("http://xunyou.ippptp.com:2222/api/areaPool.html?type=json"), true);
|
||||
//写入讯连文件
|
||||
xunlian_getList($xunlian,$xunlian_f,$all,$xunlian_data);
|
||||
fclose($xunlian_f);
|
||||
|
||||
$wuxian_data = get_product(__DIR__.'/data/wuxian.csv');
|
||||
$wuxian_f = fopen(__DIR__.'/data/wuxian.csv','w');
|
||||
$wuxian = get_content('http://118.25.157.170:6888/agent.html',$product_list[9]['Token']);
|
||||
//写入无限文件
|
||||
wuxian_getList($wuxian,$wuxian_f,$all,$wuxian_data);
|
||||
fclose($wuxian_f);
|
||||
|
||||
$xianfeng_data = get_product(__DIR__.'/data/xianfeng.csv');
|
||||
$xianfeng_f = fopen(__DIR__.'/data/xianfeng.csv','w');
|
||||
$xianfeng = json_decode(xianfeng_post('http://39.102.54.40/development/fault.html','PHPSESSID=04amq9qmgf1u1sgl29a5a53is6',['page'=>1,'limit'=>1000]),true)['data'];
|
||||
//写入先锋文件
|
||||
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);
|
||||
|
||||
//星星2288写入all
|
||||
$file2288 = fopen('./2288.csv','r');
|
||||
$file2288 = fopen(__DIR__.'/data/2288.csv','r');
|
||||
while ($data = fgetcsv($file2288)) {
|
||||
fputcsv($all,$data);
|
||||
}
|
||||
@@ -87,6 +113,7 @@ function qiangzi_getList($data,&$file,&$all,$exit)
|
||||
|
||||
foreach ($data as $info) {
|
||||
$record = [];
|
||||
$record['name'] = '强子';
|
||||
//如果存在 不为空 则
|
||||
if(!empty($info['titleRow'])){
|
||||
$record['city'] = $info['titleRow'];
|
||||
@@ -132,7 +159,7 @@ function qiangzi_getList($data,&$file,&$all,$exit)
|
||||
function xingxing_getList($data,&$file,&$all,$exit)
|
||||
{
|
||||
global $dnx_exit,$dnx_has_exit;
|
||||
$online = ['离线','在线'];
|
||||
$online = ['离线','正常'];
|
||||
$province_record = [];
|
||||
//省会
|
||||
$province = ['黑龙','内蒙'];
|
||||
@@ -140,6 +167,7 @@ function xingxing_getList($data,&$file,&$all,$exit)
|
||||
foreach ($data as $info) {
|
||||
|
||||
$record = [];
|
||||
$record['name'] = '星星';
|
||||
$province_detail = mb_substr($info['description'],0,2);
|
||||
if(in_array($province_detail,$province)){
|
||||
$province_detail = mb_substr($info['description'],0,3);
|
||||
@@ -192,6 +220,7 @@ function jike_getList($data,&$file,&$all,$exit)
|
||||
$province_record = [];
|
||||
foreach ($data as $info) {
|
||||
$record = [];
|
||||
$record['name'] = '极客';
|
||||
//如果存在 不为空 则
|
||||
if(!in_array($info['province'],$province_record)){
|
||||
$record['city'] = $info['province'];
|
||||
@@ -230,6 +259,7 @@ function tiantian_getList($data,&$file,&$all,$exit,$product_name)
|
||||
foreach ($data as $info) {
|
||||
|
||||
$record = [];
|
||||
$record['name'] = $product_name;
|
||||
$record['city'] = $info['name'];
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$record);
|
||||
@@ -271,6 +301,7 @@ function shihui_getList($html,&$file,&$all,$exit){
|
||||
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 {
|
||||
@@ -319,6 +350,7 @@ function gongxiang_getList($html,&$file,&$all,$exit){
|
||||
preg_match_all("/<p>(.*?)<\/p>/is", $html, $result);
|
||||
foreach($result[0] as $k=>$info){
|
||||
$record = [];
|
||||
$record['name'] = '共享';
|
||||
if ($k==0){
|
||||
continue;
|
||||
} else {
|
||||
@@ -451,6 +483,7 @@ function xunlian_getList($data,&$file,&$all,$exit){
|
||||
$province_record = [];
|
||||
foreach($data as $info){
|
||||
$record = [];
|
||||
$record['name'] = '讯连';
|
||||
$province_detail = mb_substr($info['description'],0,2);
|
||||
if($province_detail == '全国'){
|
||||
$record['city'] = $info['description'];
|
||||
@@ -516,6 +549,183 @@ function xunlian_getList($data,&$file,&$all,$exit){
|
||||
}
|
||||
}
|
||||
|
||||
function wuxian_getList($html,&$file,&$all,$exit){
|
||||
global $dnx_exit,$dnx_has_exit;
|
||||
//省会
|
||||
$province = ['黑龙','内蒙'];
|
||||
$province_record = [];
|
||||
$citys = ['北京','上海','天津','重庆'];
|
||||
preg_match("/<div> <\/div>(.*?)<\/div><\/div>/is", $html, $result);
|
||||
$result = str_replace('<div> </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(' ',$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;
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$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,['无限',$record['nasname']]);
|
||||
}
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$record);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function xianfeng_getList($data,&$file,&$all,$exit){
|
||||
global $dnx_exit,$dnx_has_exit;
|
||||
//省会
|
||||
$province = ['黑龙','内蒙','直辖'];
|
||||
$province_record = [];
|
||||
$status = ['维护中','正常'];
|
||||
foreach ($data as $info) {
|
||||
$record = [];
|
||||
$record['name'] = '先锋';
|
||||
if(strpos($info['description'],'混播') || strpos($info['description'],'所有单城市')){
|
||||
$province_detail = '混播';
|
||||
if(!in_array($province_detail,$province_record)){
|
||||
$record['city'] = $province_detail;
|
||||
$province_record[] = $province_detail;
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$record);
|
||||
}
|
||||
$record['city'] = $info['description'];
|
||||
$record['supply'] = '电信/联通';
|
||||
} else {
|
||||
$info['description'] = trim($info['description'],'a');
|
||||
$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;
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$record);
|
||||
}
|
||||
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'] = '';
|
||||
$record['onlineuser'] = '';
|
||||
$record['maxuser'] = '';
|
||||
$record['online'] = ($info['serstatus'] == 1)?'正常':'维护中';
|
||||
$record['status'] = '';
|
||||
$record['nasname'] = $info['nasname'];
|
||||
if(!in_array($record['nasname'],$exit) && !in_array($record['nasname'],$dnx_has_exit)){
|
||||
fputcsv($dnx_exit,['先锋',$record['nasname']]);
|
||||
}
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$record);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function jinrui_getList($html,&$file,&$all,$exit){
|
||||
global $dnx_exit,$dnx_has_exit;
|
||||
//省会
|
||||
$province_record = [];
|
||||
$status = ['0'=>'维护中','1'=>'正常','-1'=>'离线'];
|
||||
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'];
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$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'] = $status[$info['status']];
|
||||
$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,['金瑞',$record['nasname']]);
|
||||
}
|
||||
fputcsv($file,$record);
|
||||
fputcsv($all,$record);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function get_content($url, $cookie) {
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
@@ -527,7 +737,7 @@ function get_content($url, $cookie) {
|
||||
return $rs;
|
||||
}
|
||||
|
||||
function get_product($file_path,$num = 8){
|
||||
function get_product($file_path,$num = 9){
|
||||
$list = [];
|
||||
$file = fopen($file_path,'r');
|
||||
while ($info = fgetcsv($file)) {
|
||||
@@ -536,4 +746,19 @@ function get_product($file_path,$num = 8){
|
||||
}
|
||||
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;
|
||||
}
|
||||
228
script/linedata/search.php
Normal file
228
script/linedata/search.php
Normal file
@@ -0,0 +1,228 @@
|
||||
<?php
|
||||
/*
|
||||
* @Descripttion:
|
||||
* @version:
|
||||
* @Author: kangkang
|
||||
* @Date: 2020-11-07 11:13:08
|
||||
* @LastEditors: kangkang
|
||||
* @LastEditTime: 2020-11-07 16:57:20
|
||||
*/
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
header("Access-Control-Allow-Methods: *");
|
||||
header('Access-Control-Allow-Headers:*');
|
||||
header("Access-Control-Allow-Credentials: true");
|
||||
$search = $_GET['info'];
|
||||
if($_GET['type'] == 1){
|
||||
search_all_product(__DIR__.'/data/all.csv',$search);
|
||||
} else {
|
||||
$product_id = $_GET['productid'];
|
||||
switch($product_id){
|
||||
case 0:
|
||||
search_product(__DIR__.'/data/all.csv');
|
||||
break;
|
||||
case 8:
|
||||
search_xingxing(__DIR__.'/data/xingxing.csv','2288.csv','xxip.vip');
|
||||
break;
|
||||
case 6:
|
||||
search_product(__DIR__.'/data/xianfeng.csv','xfip.vip');
|
||||
break;
|
||||
case 13:
|
||||
search_product(__DIR__.'/data/jike.csv','jkip.com');
|
||||
break;
|
||||
case 1:
|
||||
search_product(__DIR__.'/data/qiangzi.csv','qzip.vip');
|
||||
break;
|
||||
case 2:
|
||||
search_product(__DIR__.'/data/xunlian.csv','xlip.vip');
|
||||
break;
|
||||
case 14:
|
||||
search_product(__DIR__.'/data/tiantian.csv','ttip.cn');
|
||||
break;
|
||||
case 5:
|
||||
search_product(__DIR__.'/data/laoying.csv','lyip.vip');
|
||||
break;
|
||||
case 4:
|
||||
search_product(__DIR__.'/data/jinrui.csv','jrip.vip');
|
||||
break;
|
||||
case 10:
|
||||
search_product(__DIR__.'/data/wuxian.csv','wxip.net');
|
||||
break;
|
||||
case 16:
|
||||
search_product(__DIR__.'/data/shihui.csv','shihui');
|
||||
break;
|
||||
case 15:
|
||||
search_product(__DIR__.'/data/gongxiang.csv');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function search_all_product($file_path,$search){
|
||||
$list = [];
|
||||
$dns = '';
|
||||
$file = fopen($file_path,'r');
|
||||
$province = '';
|
||||
while ($info = fgetcsv($file)) {
|
||||
|
||||
if(isset($info[7])){
|
||||
$info[10] = $province;
|
||||
} else {
|
||||
$province = $info[1];
|
||||
}
|
||||
|
||||
$search_info = implode('',$info);
|
||||
|
||||
if(strpos($search_info,$search) !== false){
|
||||
$data['name'] = $info[0];
|
||||
switch($data['name']){
|
||||
case '星星':
|
||||
$dns = 'xxip.vip';
|
||||
break;
|
||||
case '先锋':
|
||||
$dns = 'xfip.vip';
|
||||
break;
|
||||
case '极客':
|
||||
$dns = 'jkip.com';
|
||||
break;
|
||||
case '强子':
|
||||
$dns = 'qzip.vip';
|
||||
break;
|
||||
case '讯连':
|
||||
$dns = 'xlip.vip';
|
||||
break;
|
||||
case '天天':
|
||||
$dns = 'ttip.cn';
|
||||
break;
|
||||
case '老鹰':
|
||||
$dns = 'lyip.vip';
|
||||
break;
|
||||
case '金瑞':
|
||||
$dns = 'jrip.vip';
|
||||
break;
|
||||
case '无限':
|
||||
$dns = 'wxip.net';
|
||||
break;
|
||||
case '实惠':
|
||||
$dns = 'shihui';
|
||||
break;
|
||||
case '共享':
|
||||
$dns = '';
|
||||
break;
|
||||
}
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
echo $dns;
|
||||
if($dns!='shihui'){
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
} else {
|
||||
$data['nasname'] = $info[9];
|
||||
}
|
||||
$list[] = $data;
|
||||
}
|
||||
|
||||
}
|
||||
fclose($file);
|
||||
echo json_encode(['data'=>$list]);
|
||||
}
|
||||
|
||||
|
||||
function search_product($file_path,$dns = ''){
|
||||
global $search;
|
||||
$list = [];
|
||||
$file = fopen($file_path,'r');
|
||||
$province = '';
|
||||
while ($info = fgetcsv($file)) {
|
||||
if(isset($info[7])){
|
||||
$info[10] = $province;
|
||||
} else {
|
||||
$province = $info[1];
|
||||
}
|
||||
|
||||
$search_info = implode('',$info);
|
||||
|
||||
if(strpos($search_info,$search) !== false){
|
||||
$data['name'] = $info[0];
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
$list[] = $data;
|
||||
}
|
||||
}
|
||||
fclose($file);
|
||||
echo json_encode(['data'=>$list]);
|
||||
}
|
||||
|
||||
function search_xingxing($file_path1,$file_path2,$dns){
|
||||
global $search;
|
||||
$list1 = [];
|
||||
$list2 = [];
|
||||
$file1 = fopen($file_path1,'r');
|
||||
$file2 = fopen($file_path2,'r');
|
||||
$province = '';
|
||||
while ($info = fgetcsv($file1)) {
|
||||
if(isset($info[7])){
|
||||
$info[10] = $province;
|
||||
} else {
|
||||
$province = $info[1];
|
||||
}
|
||||
|
||||
$search_info = implode('',$info);
|
||||
|
||||
if(strpos($search_info,$search) !== false){
|
||||
$data['name'] = $info[0];
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
$list1[] = $data;
|
||||
}
|
||||
}
|
||||
while ($info = fgetcsv($file2)) {
|
||||
if(isset($info[7])){
|
||||
$info[10] = $province;
|
||||
} else {
|
||||
$province = $info[1];
|
||||
}
|
||||
|
||||
$search_info = implode('',$info);
|
||||
|
||||
if(strpos($search_info,$search) !== false){
|
||||
$data['name'] = $info[0];
|
||||
$data['city'] = $info[1];
|
||||
$data['supply'] = $info[2];
|
||||
$data['ip'] = $info[3];
|
||||
$data['daikuan'] = $info[4];
|
||||
$data['onlineuser'] = $info[5];
|
||||
$data['maxuser'] = $info[6];
|
||||
$data['online'] = $info[7];
|
||||
$data['status'] = $info[8];
|
||||
$ip = explode('.',$info[9]);
|
||||
$data['nasname'] = $ip[0]?$ip[0].'.'.$dns:'';
|
||||
$list2[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
fclose($file1);
|
||||
fclose($file2);
|
||||
$list = array_merge($list1,$list2);
|
||||
echo json_encode(['data'=>$list]);
|
||||
}
|
||||
Reference in New Issue
Block a user