提交 459d7954 编写于 作者: H hjdhnx

修复正确获取ip

上级 f765bbf4
...@@ -59,7 +59,7 @@ def forbidden(): # put application's code here ...@@ -59,7 +59,7 @@ def forbidden(): # put application's code here
@app.route('/index') @app.route('/index')
def index(): # put application's code here def index(): # put application's code here
logger.info("进入了首页") # logger.info("进入了首页")
return render_template('index.html',getHost=getHost) return render_template('index.html',getHost=getHost)
@app.route('/vod') @app.route('/vod')
......
...@@ -9,13 +9,11 @@ import math ...@@ -9,13 +9,11 @@ import math
from utils.web import * from utils.web import *
from models import * from models import *
from utils.config import config from utils.config import config
from utils.log import get_logger from utils.log import logger
from utils.htmlParser import jsoup from utils.htmlParser import jsoup
from urllib.parse import urljoin from urllib.parse import urljoin
from concurrent.futures import ThreadPoolExecutor # 引入线程池 from concurrent.futures import ThreadPoolExecutor # 引入线程池
logger = get_logger('dr.log')
class CMS: class CMS:
def __init__(self,rule,db=None,RuleClass=None): def __init__(self,rule,db=None,RuleClass=None):
self.db = db self.db = db
...@@ -134,6 +132,7 @@ class CMS: ...@@ -134,6 +132,7 @@ class CMS:
cls2 = res.class_url.split('&') cls2 = res.class_url.split('&')
classes = [{'type_name':cls[i],'type_id':cls2[i]} for i in range(len(cls))] classes = [{'type_name':cls[i],'type_id':cls2[i]} for i in range(len(cls))]
# _logger.info(classes) # _logger.info(classes)
logger.info(f"使用缓存分类:{classes}")
return classes return classes
else: else:
return [] return []
......
...@@ -4,3 +4,4 @@ flask ...@@ -4,3 +4,4 @@ flask
requests requests
flask-sqlalchemy flask-sqlalchemy
gevent gevent
netifaces
\ No newline at end of file
...@@ -68,3 +68,5 @@ def get_logger(log_filename, level=logging.DEBUG, when='D', back_count=0): ...@@ -68,3 +68,5 @@ def get_logger(log_filename, level=logging.DEBUG, when='D', back_count=0):
logger.addHandler(ch) logger.addHandler(ch)
return logger return logger
logger = get_logger('dr.log')
\ No newline at end of file
...@@ -5,8 +5,9 @@ ...@@ -5,8 +5,9 @@
# Date : 2022/8/25 # Date : 2022/8/25
import socket import socket
from netifaces import interfaces, ifaddresses, AF_INET
from flask import request 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' 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' 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' UA = 'Mozilla/5.0'
...@@ -15,7 +16,7 @@ headers = { ...@@ -15,7 +16,7 @@ headers = {
'Referer': 'https://www.baidu.com', 'Referer': 'https://www.baidu.com',
'user-agent': UA, 'user-agent': UA,
} }
def get_host_ip(): # 获取局域网ip def get_host_ip2(): # 获取局域网ip
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try: try:
# print('8888') # print('8888')
...@@ -25,11 +26,23 @@ def get_host_ip(): # 获取局域网ip ...@@ -25,11 +26,23 @@ def get_host_ip(): # 获取局域网ip
s.close() s.close()
return ip 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): def getHost(mode=0,port=None):
port = port or request.environ.get('SERVER_PORT') port = port or request.environ.get('SERVER_PORT')
# hostname = socket.gethostname() # hostname = socket.gethostname()
# ip = socket.gethostbyname(hostname) # ip = socket.gethostbyname(hostname)
ip = get_host_ip() ip = REAL_IP
# ip = request.remote_addr # ip = request.remote_addr
# print(ip) # print(ip)
# mode 为0是本地,1是局域网 2是线上 # mode 为0是本地,1是局域网 2是线上
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册