Files
jcm_test/server/main/biao/api.py
2024-03-03 19:43:51 +00:00

108 lines
5.3 KiB
Python
Executable File

# coding=utf-8
#!/bin/python
import os
import sys
import time
import imp
import hashlib
import socket
def main(new_client_socket,RUL_CS,post_data,Headers,info,user):
link = ''
path = ''
res = ''
post = RUL_CS
for i in post:
tmp = i.split('=')
if tmp[0] == 'link':
link = tmp[1]
if tmp[0] == 'path':
path = tmp[1]
fs = open(".config/main/lits.json", "rb")
hosts = fs.read().decode("utf-8").split('\n')
res += '{"data":[ \r\n'
for i in range(len(hosts)-1):
ii = hosts[i].split('"')
if i== 0:
res += '{"name":"' + ii[3] + '","data": [ \r\n'
else:
res += ',{"name":"' + ii[3] + '","data": [ \r\n'
if ii[7] == "127.0.0.1":
fs = open("./server/server.ini", "rb")
pat = fs.read().decode("utf-8")
path = pat.split('\n')
biao = ''
fo = 0
for p in path:
p = "server/" + p.split('\r')[0]
#print(p)
if os.path.isdir(p):
if os.path.isfile(p + "/biao.json"):
fs = open(p + "/biao.json", "rb")
fo += 1
bbt = fs.read().decode("utf-8")
bb = bbt.split('\"')
biao = biao + bbt + ","
res += biao + '{}]} \r\n'
else:
url = "http://" + ii[7] + ":" + ii[19] + "/main/biao/dev"
sh = imp.load_source("server/main/httpclient","server/main/httpclient.py")
#cat,cdata = sh.Client(ii[7],int(ii[19]),"/main/biao/dev")
cat,cdata = sh.Client(ii[7],int(ii[19]),'/main/biao/dev','')
if cdata == b'timed out':
res += '{\n "name":"timed out",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cdata == b'Connection refused':
res += '{\n "name":"Connection refused",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
else:
if cat == "404":
res += '{\n "name":"404",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cat == "502":
res += '{\n "name":"无响应",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cat == '401':
data = sh.logindev(ii[3])
cat = data[0]
if cat == '200':
#cdata = cdata.decode("utf-8")
#if cdata == '{"data":"login"}\r\n\r\n':
cat,cdata = sh.Client(ii[7],int(ii[19]),'/main/biao/dev','')
if cat == "404":
res += '{\n "name":"404",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cat == '502':
res += '{\n "name":"无响应",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cat == '401':
res += '{\n "name":"登录失败",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cdata == '<!DOCTYPE html>':
res += '{\n "name":"响应错误",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
else:
cdata = cdata.decode("utf-8")[9:]
res += cdata
res += '{}]} \r\n'
#else:
#cdata = cdata.split('":"')
#cdata = cdata[1].split('","')
else:
if cat == "404":
res += '{\n "name":"404",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cat == '502':
res += '{\n "name":"无响应",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cat == '401':
res += '{\n "name":"登录失败",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
elif cdata == '<!DOCTYPE html>':
res += '{\n "name":"响应错误",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
else:
cdata = cdata.decode("utf-8")[9:]
res += cdata
res += '{}]} \r\n'
elif cdata == '<!DOCTYPE html>':
res += '{\n "name":"响应错误",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n'
else:
cdata = cdata.decode("utf-8")[9:]
res += cdata
res += '{}]} \r\n'
#new_client_socket.send('{\n "name":"无响应",\n "link":"info?",\n "fa":"fa-tachometer"\n},' + '{}]} \r\n').encode("utf-8"))
res += ']} \r\n'
httpserver = imp.load_source("server/main/httpserver.py","server/main/httpserver.py")
httpserver.httppostchar(new_client_socket,"200",res.encode("utf-8"),"application/json",Headers,info)