From 459d795453a64edb9257f9ac9a47ee6bbbbca2f9 Mon Sep 17 00:00:00 2001 From: hjdhnx Date: Sat, 27 Aug 2022 21:39:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AD=A3=E7=A1=AE=E8=8E=B7?= =?UTF-8?q?=E5=8F=96ip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 2 +- classes/cms.py | 5 ++--- requirements.txt | 3 ++- utils/log.py | 2 ++ utils/web.py | 19 ++++++++++++++++--- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/app.py b/app.py index 67b15b7..d942d2f 100644 --- a/app.py +++ b/app.py @@ -59,7 +59,7 @@ def forbidden(): # put application's code here @app.route('/index') def index(): # put application's code here - logger.info("进入了首页") + # logger.info("进入了首页") return render_template('index.html',getHost=getHost) @app.route('/vod') diff --git a/classes/cms.py b/classes/cms.py index d87ef78..8e3e765 100644 --- a/classes/cms.py +++ b/classes/cms.py @@ -9,13 +9,11 @@ import math from utils.web import * from models import * from utils.config import config -from utils.log import get_logger +from utils.log import logger from utils.htmlParser import jsoup from urllib.parse import urljoin from concurrent.futures import ThreadPoolExecutor # 引入线程池 -logger = get_logger('dr.log') - class CMS: def __init__(self,rule,db=None,RuleClass=None): self.db = db @@ -134,6 +132,7 @@ class CMS: cls2 = res.class_url.split('&') classes = [{'type_name':cls[i],'type_id':cls2[i]} for i in range(len(cls))] # _logger.info(classes) + logger.info(f"使用缓存分类:{classes}") return classes else: return [] diff --git a/requirements.txt b/requirements.txt index 402dba2..7b389bf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,5 @@ pyquery flask requests flask-sqlalchemy -gevent \ No newline at end of file +gevent +netifaces \ No newline at end of file diff --git a/utils/log.py b/utils/log.py index f1fa6c9..1e1d9cb 100644 --- a/utils/log.py +++ b/utils/log.py @@ -68,3 +68,5 @@ def get_logger(log_filename, level=logging.DEBUG, when='D', back_count=0): logger.addHandler(ch) return logger + +logger = get_logger('dr.log') \ No newline at end of file diff --git a/utils/web.py b/utils/web.py index 2194fe9..96b51a0 100644 --- a/utils/web.py +++ b/utils/web.py @@ -5,8 +5,9 @@ # Date : 2022/8/25 import socket +from netifaces import interfaces, ifaddresses, AF_INET from flask import request - +from utils.log import logger MOBILE_UA = 'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36' PC_UA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36' UA = 'Mozilla/5.0' @@ -15,7 +16,7 @@ headers = { 'Referer': 'https://www.baidu.com', 'user-agent': UA, } -def get_host_ip(): # 获取局域网ip +def get_host_ip2(): # 获取局域网ip s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: # print('8888') @@ -25,11 +26,23 @@ def get_host_ip(): # 获取局域网ip s.close() return ip +def get_host_ip(): # 获取局域网ip + ips = [] + for ifaceName in interfaces(): + addresses = ''.join([i['addr'] for i in ifaddresses(ifaceName).setdefault(AF_INET, [{'addr': ''}])]) + ips.append(addresses) + real_ips = list(filter(lambda x:x and x!='127.0.0.1',ips)) + logger.info(real_ips) + jyw = list(filter(lambda x:str(x).startswith('192.168'),real_ips)) + return real_ips[-1] if len(jyw) < 1 else jyw[0] + +REAL_IP = get_host_ip() + def getHost(mode=0,port=None): port = port or request.environ.get('SERVER_PORT') # hostname = socket.gethostname() # ip = socket.gethostbyname(hostname) - ip = get_host_ip() + ip = REAL_IP # ip = request.remote_addr # print(ip) # mode 为0是本地,1是局域网 2是线上 -- GitLab