xinxin
This commit is contained in:
parent
0010be1b6b
commit
905bca662e
2
.idea/auto_trade_20230130.iml
generated
2
.idea/auto_trade_20230130.iml
generated
@ -4,7 +4,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.6 (auto_trade_20230130)" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.6 (zhitou_trade)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PyDocumentationSettings">
|
<component name="PyDocumentationSettings">
|
||||||
|
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (auto_trade_20230130)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (zhitou_trade)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
Binary file not shown.
Binary file not shown.
@ -150,7 +150,7 @@ class DongWuClientTrader:
|
|||||||
|
|
||||||
#设置全局代理
|
#设置全局代理
|
||||||
proxy_ip = item['ip']
|
proxy_ip = item['ip']
|
||||||
proxy_port = str(item['port'])
|
proxy_port = item['port']
|
||||||
set_proxy(proxy_ip,proxy_port)
|
set_proxy(proxy_ip,proxy_port)
|
||||||
|
|
||||||
# exit_ip = get_proxy_ip(proxy_ip,proxy_port)
|
# exit_ip = get_proxy_ip(proxy_ip,proxy_port)
|
||||||
|
@ -16,7 +16,9 @@ import pytesseract
|
|||||||
import warnings
|
import warnings
|
||||||
import datetime
|
import datetime
|
||||||
import os
|
import os
|
||||||
|
import logging
|
||||||
from tools import *
|
from tools import *
|
||||||
|
from config import ssid,password
|
||||||
warnings.filterwarnings('ignore')
|
warnings.filterwarnings('ignore')
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@ -35,11 +37,14 @@ class HLClientTrader:
|
|||||||
def __init__(self, account_name, exe_path=path):
|
def __init__(self, account_name, exe_path=path):
|
||||||
self.path = exe_path
|
self.path = exe_path
|
||||||
self.account_name = account_name
|
self.account_name = account_name
|
||||||
self.log = Logger(f'{root_path}/logs',self.account_name)
|
|
||||||
|
|
||||||
# 加载WiFi配置文件
|
# 确保logs目录存在
|
||||||
self.wifi_configs = self._load_wifi_config()
|
logs_dir = root_path / 'logs'
|
||||||
|
logs_dir.mkdir(exist_ok=True)
|
||||||
|
|
||||||
|
# 初始化日志系统
|
||||||
|
self._setup_logging()
|
||||||
|
|
||||||
# 用户券商信息
|
# 用户券商信息
|
||||||
sql = f"select * from ainvest_usercount where username='{account_name}'"
|
sql = f"select * from ainvest_usercount where username='{account_name}'"
|
||||||
df_count = download_data_from_db(sql, 'ai_strategy_update_iddb')
|
df_count = download_data_from_db(sql, 'ai_strategy_update_iddb')
|
||||||
@ -47,27 +52,39 @@ class HLClientTrader:
|
|||||||
self.securities_password = str(df_count['securities_password'].tolist()[0])
|
self.securities_password = str(df_count['securities_password'].tolist()[0])
|
||||||
self.communication_password = str(df_count['communication_password'].tolist()[0])
|
self.communication_password = str(df_count['communication_password'].tolist()[0])
|
||||||
|
|
||||||
def _load_wifi_config(self):
|
def _setup_logging(self):
|
||||||
"""加载WiFi配置文件"""
|
"""设置日志系统"""
|
||||||
config_path = os.path.join(root_path, 'wifi_config.txt')
|
# 获取当前模块的logger
|
||||||
try:
|
self.logger = logging.getLogger(__name__)
|
||||||
with open(config_path, 'r', encoding='utf-8') as f:
|
|
||||||
lines = f.readlines()
|
# 为当前账户添加文件处理器,记录到logs目录
|
||||||
wifi_configs = []
|
logs_file = os.path.join(root_path, 'logs', f'{self.account_name}.log')
|
||||||
for line in lines:
|
|
||||||
line = line.strip()
|
# 检查是否已经有针对这个账户的处理器,避免重复添加
|
||||||
if line and not line.startswith('#'):
|
account_handler_exists = False
|
||||||
parts = line.split(',')
|
for handler in self.logger.handlers:
|
||||||
if len(parts) == 2:
|
if hasattr(handler, 'baseFilename') and handler.baseFilename == os.path.abspath(logs_file):
|
||||||
wifi_configs.append({'ssid': parts[0].strip(), 'password': parts[1].strip()})
|
account_handler_exists = True
|
||||||
self.log.info(f"WiFi配置加载成功,共{len(wifi_configs)}个配置")
|
break
|
||||||
return wifi_configs
|
|
||||||
except FileNotFoundError:
|
if not account_handler_exists:
|
||||||
self.log.warn(f"WiFi配置文件 {config_path} 不存在,使用默认配置")
|
formatter = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S')
|
||||||
return [{'ssid': 'ZTE_A5DA76', 'password': '1234567890'}]
|
file_handler = logging.FileHandler(logs_file, encoding='utf-8')
|
||||||
except Exception as e:
|
file_handler.setFormatter(formatter)
|
||||||
self.log.error(f"WiFi配置文件读取错误: {e}")
|
file_handler.setLevel(logging.DEBUG)
|
||||||
return [{'ssid': 'ZTE_A5DA76', 'password': '1234567890'}]
|
self.logger.addHandler(file_handler)
|
||||||
|
|
||||||
|
# 如果根logger没有处理器(单独运行时),添加控制台处理器
|
||||||
|
root_logger = logging.getLogger()
|
||||||
|
if not root_logger.handlers:
|
||||||
|
console_handler = logging.StreamHandler()
|
||||||
|
console_handler.setFormatter(logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S'))
|
||||||
|
console_handler.setLevel(logging.INFO)
|
||||||
|
self.logger.addHandler(console_handler)
|
||||||
|
|
||||||
|
# 设置logger级别
|
||||||
|
self.logger.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
|
|
||||||
def exit(self):
|
def exit(self):
|
||||||
'''
|
'''
|
||||||
@ -104,62 +121,44 @@ class HLClientTrader:
|
|||||||
path=self.path, timeout=1
|
path=self.path, timeout=1
|
||||||
)
|
)
|
||||||
self.exit()
|
self.exit()
|
||||||
self.log.warn('There are running programs, and there are processes in retreat')
|
self.logger.warning('There are running programs, and there are processes in retreat')
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# 启动软件进程,输入账号密码
|
# 启动软件进程,输入账号密码
|
||||||
self.log.info('Start login')
|
self.logger.info('Start login')
|
||||||
|
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
reset_proxy_to_default() # 初始化proxy信息
|
|
||||||
|
|
||||||
# 重置mac
|
# 重置mac
|
||||||
set_mac = SetMac()
|
set_mac = SetMac()
|
||||||
set_mac.run()
|
set_mac.run()
|
||||||
# 尝试连接WiFi
|
# 尝试连接WiFi
|
||||||
connected = False
|
connect_wifi(ssid,password)
|
||||||
for i, wifi_config in enumerate(self.wifi_configs):
|
|
||||||
wifi_ssid = wifi_config['ssid']
|
|
||||||
wifi_password = wifi_config['password']
|
|
||||||
|
|
||||||
if i == 0:
|
|
||||||
self.log.info(f"尝试连接主WiFi: {wifi_ssid}")
|
|
||||||
else:
|
|
||||||
self.log.info(f"尝试连接备用WiFi: {wifi_ssid}")
|
|
||||||
|
|
||||||
if connect_wifi(wifi_ssid, wifi_password):
|
|
||||||
self.log.info(f"网络已就绪(WiFi: {wifi_ssid})")
|
|
||||||
connected = True
|
|
||||||
break
|
|
||||||
|
|
||||||
if not connected:
|
|
||||||
self.log.error("无法建立网络连接,请检查配置")
|
|
||||||
|
|
||||||
get_ip_times = 0
|
get_ip_times = 0
|
||||||
writer = ExcelDataWriter() # 初始化ip_records 表格
|
writer = ExcelDataWriter() # 初始化ip_records 表格
|
||||||
used_ip = writer.get_unavailable_ips(broker, account_name)
|
used_ip = writer.get_unavailable_ips(broker, account_name)
|
||||||
while get_ip_times < 3:
|
while get_ip_times < 10:
|
||||||
try:
|
try:
|
||||||
item = get_ip_data() # 获取动态IP
|
item = get_ip_data() # 获取动态IP
|
||||||
if item['ip'] in used_ip:
|
if item['ip'] in used_ip:
|
||||||
get_ip_times += 1
|
get_ip_times += 1
|
||||||
|
self.logger.warning(f'代理IP重复,重新获取IP')
|
||||||
else:
|
else:
|
||||||
self.log.info(f'代理IP已经获取{item}')
|
self.logger.info(f'代理IP已经获取{item}')
|
||||||
break
|
break
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.log.error(f'获取IP失败,请检查网络连接{e}')
|
self.logger.error(f'获取IP失败,请检查网络连接{e}')
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
# raise ConnectionError(f"获取IP失败,请检查网络连接。错误详情: {e}")
|
|
||||||
|
|
||||||
# 设置全局代理
|
# 设置全局代理
|
||||||
proxy_ip = item['ip']
|
proxy_ip = item['ip']
|
||||||
proxy_port = item['port']
|
proxy_port = item['port']
|
||||||
set_global_proxy(proxy_ip, proxy_port, enable=True)
|
set_proxy(proxy_ip, proxy_port)
|
||||||
|
|
||||||
# exit_ip = get_proxy_ip(proxy_ip,proxy_port)
|
# exit_ip = get_proxy_ip(proxy_ip,proxy_port)
|
||||||
time_with_change_proxy = time.time() - start_time
|
time_with_change_proxy = time.time() - start_time
|
||||||
self.log.info('全局代理设置成功')
|
self.logger.info('全局代理设置成功')
|
||||||
|
|
||||||
insert_data = {'as_of_date': datetime.datetime.fromtimestamp(start_time).strftime('%Y-%m-%d %H:%M:%S.%f'),
|
insert_data = {'as_of_date': datetime.datetime.fromtimestamp(start_time).strftime('%Y-%m-%d %H:%M:%S.%f'),
|
||||||
'broker': broker,
|
'broker': broker,
|
||||||
@ -171,17 +170,16 @@ class HLClientTrader:
|
|||||||
'ip_cross_check_result': '一致',
|
'ip_cross_check_result': '一致',
|
||||||
'ip_switch_time': time_with_change_proxy,
|
'ip_switch_time': time_with_change_proxy,
|
||||||
# 'ip_expire_time':item['expire']
|
# 'ip_expire_time':item['expire']
|
||||||
'ip_survival_time': '3min'
|
'ip_survival_time': '5min'
|
||||||
}
|
}
|
||||||
# 写入数据表
|
# 写入数据表
|
||||||
writer = ExcelDataWriter() # 初始化ip_records 表格
|
writer = ExcelDataWriter() # 初始化ip_records 表格
|
||||||
writer.write_data(insert_data)
|
writer.write_data(insert_data)
|
||||||
|
|
||||||
|
time.sleep(2)
|
||||||
#启动软件进程,输入账号密码
|
#启动软件进程,输入账号密码
|
||||||
self.log.info('Start login')
|
|
||||||
self._app = pywinauto.Application().start(self.path)
|
self._app = pywinauto.Application().start(self.path)
|
||||||
time.sleep(1)
|
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
self._app.window(title_re='华龙证券网上交易.*').wait("ready")
|
self._app.window(title_re='华龙证券网上交易.*').wait("ready")
|
||||||
@ -220,10 +218,10 @@ class HLClientTrader:
|
|||||||
result_idcode = self.result_text()
|
result_idcode = self.result_text()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
print('(((((((((',result_idcode)
|
print('(((((((((',result_idcode)
|
||||||
self.log.softInfo(result_idcode)
|
self.logger.info(result_idcode)
|
||||||
if '验证码' in result_idcode:
|
if '验证码' in result_idcode:
|
||||||
# print('111')
|
# print('111')
|
||||||
self.log.warn('Verification code error')
|
self.logger.warning('Verification code error')
|
||||||
self._app.window(title_re='华龙证券网上交易.*').window(control_id=0x458, class_name='Edit').click()
|
self._app.window(title_re='华龙证券网上交易.*').window(control_id=0x458, class_name='Edit').click()
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
else:
|
else:
|
||||||
@ -354,7 +352,7 @@ class HLClientTrader:
|
|||||||
one_text = self._app.window(control_id=0x0, class_name='#32770',found_index = 0).window(control_id=0x3EC, class_name='Static',found_index = 0).window_text()
|
one_text = self._app.window(control_id=0x0, class_name='#32770',found_index = 0).window(control_id=0x3EC, class_name='Static',found_index = 0).window_text()
|
||||||
# print(one_text)
|
# print(one_text)
|
||||||
# 摘取合同信息
|
# 摘取合同信息
|
||||||
self.log.info(one_text.replace('/n', ' '))
|
self.logger.info(one_text.replace('/n', ' '))
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
#确认申购委托
|
#确认申购委托
|
||||||
# self._app.window(control_id=0x0, class_name="#32770", found_index=0).window(control_id=0x2,class_name='Button').click()
|
# self._app.window(control_id=0x0, class_name="#32770", found_index=0).window(control_id=0x2,class_name='Button').click()
|
||||||
@ -395,7 +393,7 @@ class HLClientTrader:
|
|||||||
|
|
||||||
#获取弹窗信息
|
#获取弹窗信息
|
||||||
result = self._app.top_window().window(control_id=0x3EC, class_name='Static').window_text()
|
result = self._app.top_window().window(control_id=0x3EC, class_name='Static').window_text()
|
||||||
self.log.info(result)
|
self.logger.info(result)
|
||||||
pywinauto.keyboard.send_keys("{ENTER}")
|
pywinauto.keyboard.send_keys("{ENTER}")
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
pywinauto.keyboard.send_keys("{ESC}")
|
pywinauto.keyboard.send_keys("{ESC}")
|
||||||
@ -437,7 +435,8 @@ class HLClientTrader:
|
|||||||
self._copy_data()
|
self._copy_data()
|
||||||
one_df =self._data_to_df()
|
one_df =self._data_to_df()
|
||||||
if len(one_df) == 0:
|
if len(one_df) == 0:
|
||||||
pass
|
self.logger.info('--------------------------------------无未成交委托--------------------------------------')
|
||||||
|
return pd.DataFrame()
|
||||||
else:
|
else:
|
||||||
one_df['证券代码'] = one_df['证券代码'].apply(lambda x: tranTicker(x.strip('=').strip('"')))
|
one_df['证券代码'] = one_df['证券代码'].apply(lambda x: tranTicker(x.strip('=').strip('"')))
|
||||||
return one_df
|
return one_df
|
||||||
@ -520,6 +519,11 @@ class HLClientTrader:
|
|||||||
skiprows=3, error_bad_lines=False).applymap(
|
skiprows=3, error_bad_lines=False).applymap(
|
||||||
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
|
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
|
||||||
position.columns = [i.replace('"', '').replace('=', '') for i in list(position.columns)]
|
position.columns = [i.replace('"', '').replace('=', '') for i in list(position.columns)]
|
||||||
|
|
||||||
|
# 检查是否有持仓数据
|
||||||
|
if len(position) == 0 or position.empty:
|
||||||
|
self.logger.info('--------------------------------------无当日持仓--------------------------------------')
|
||||||
|
return pd.DataFrame()
|
||||||
|
|
||||||
position.rename(columns={'证券代码': "Ticker",
|
position.rename(columns={'证券代码': "Ticker",
|
||||||
'证券名称': "Ticker_name",
|
'证券名称': "Ticker_name",
|
||||||
@ -553,8 +557,13 @@ class HLClientTrader:
|
|||||||
'''
|
'''
|
||||||
self.left_wnd.select(['查询[F4]','当日委托'])
|
self.left_wnd.select(['查询[F4]','当日委托'])
|
||||||
self._copy_data()
|
self._copy_data()
|
||||||
|
|
||||||
return self._data_to_df()
|
df = self._data_to_df()
|
||||||
|
if len(df) == 0:
|
||||||
|
self.logger.info('--------------------------------------无当日委托--------------------------------------')
|
||||||
|
return pd.DataFrame()
|
||||||
|
|
||||||
|
return df
|
||||||
|
|
||||||
def get_today_trades(self):
|
def get_today_trades(self):
|
||||||
'''
|
'''
|
||||||
@ -578,6 +587,12 @@ class HLClientTrader:
|
|||||||
error_bad_lines=False).applymap(
|
error_bad_lines=False).applymap(
|
||||||
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
|
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
|
||||||
trades.columns = [i.replace('"', '').replace('=', '') for i in list(trades.columns)]
|
trades.columns = [i.replace('"', '').replace('=', '') for i in list(trades.columns)]
|
||||||
|
|
||||||
|
# 检查是否有成交数据
|
||||||
|
if len(trades) == 0 or trades.empty:
|
||||||
|
self.logger.info('--------------------------------------无当日成交--------------------------------------')
|
||||||
|
return pd.DataFrame()
|
||||||
|
|
||||||
trades = trades[['成交时间', '证券代码', '证券名称', '买卖标志', '成交数量', '成交价格']]
|
trades = trades[['成交时间', '证券代码', '证券名称', '买卖标志', '成交数量', '成交价格']]
|
||||||
trades['Account_Name'] = self.account_name
|
trades['Account_Name'] = self.account_name
|
||||||
trades['As_Of_Date'] = datetime.date.today()
|
trades['As_Of_Date'] = datetime.date.today()
|
||||||
@ -634,8 +649,8 @@ class HLClientTrader:
|
|||||||
one_text = self._app.window(control_id=0x0, class_name='#32770',found_index = 0).window_text()
|
one_text = self._app.window(control_id=0x0, class_name='#32770',found_index = 0).window_text()
|
||||||
|
|
||||||
if '委托价格的小数部分应该为2位' in one_text:
|
if '委托价格的小数部分应该为2位' in one_text:
|
||||||
# 点击“否”
|
# 点击"否"
|
||||||
self.log.warn(one_text.replace('/n',' '))
|
self.logger.warning(one_text.replace('/n',' '))
|
||||||
self._app.top_window().window(control_id=0x7, class_name='Button').click()
|
self._app.top_window().window(control_id=0x7, class_name='Button').click()
|
||||||
# 保留两位小数截断
|
# 保留两位小数截断
|
||||||
price = str(price)[:-1]
|
price = str(price)[:-1]
|
||||||
@ -649,7 +664,7 @@ class HLClientTrader:
|
|||||||
one_text = self._app.top_window().window(control_id=0x410, class_name='Static').window_text()
|
one_text = self._app.top_window().window(control_id=0x410, class_name='Static').window_text()
|
||||||
else:
|
else:
|
||||||
# 摘取合同信息
|
# 摘取合同信息
|
||||||
self.log.info(one_text.replace('/n',' '))
|
self.logger.info(one_text.replace('/n',' '))
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
|
|
||||||
# 确认买入
|
# 确认买入
|
||||||
@ -660,12 +675,12 @@ class HLClientTrader:
|
|||||||
# # 摘取合同信息2
|
# # 摘取合同信息2
|
||||||
# one_text2 = self._app['提示'].window(control_id=0x0, class_name='#32770').window_text()
|
# one_text2 = self._app['提示'].window(control_id=0x0, class_name='#32770').window_text()
|
||||||
# print(one_text2)
|
# print(one_text2)
|
||||||
# self.log.info(one_text2.replace('/n', ' '))
|
# self.logger.info(one_text2.replace('/n', ' '))
|
||||||
# ImageGrab.grab(bbox=(859, 800, 1307, 836)).save(f'{root_path}/imgs/temp1231.png')
|
# ImageGrab.grab(bbox=(859, 800, 1307, 836)).save(f'{root_path}/imgs/temp1231.png')
|
||||||
#
|
#
|
||||||
# image_path = f'{root_path}/imgs/temp1231.png'
|
# image_path = f'{root_path}/imgs/temp1231.png'
|
||||||
# text = ocr_image(image_path)
|
# text = ocr_image(image_path)
|
||||||
# self.log.info(text.replace('/n', ' '))
|
# self.logger.info(text.replace('/n', ' '))
|
||||||
|
|
||||||
# 确认合同
|
# 确认合同
|
||||||
pywinauto.keyboard.send_keys("{ENTER}")
|
pywinauto.keyboard.send_keys("{ENTER}")
|
||||||
@ -694,9 +709,9 @@ class HLClientTrader:
|
|||||||
try:
|
try:
|
||||||
self._app.top_window().set_focus()
|
self._app.top_window().set_focus()
|
||||||
result_idcode = self._app.top_window().window(control_id=0x966, class_name='Static').window_text()
|
result_idcode = self._app.top_window().window(control_id=0x966, class_name='Static').window_text()
|
||||||
self.log.softInfo(result_idcode)
|
self.logger.info(result_idcode)
|
||||||
if '验证码错误' in result_idcode:
|
if '验证码错误' in result_idcode:
|
||||||
self.log.warn('Verification code error')
|
self.logger.warning('Verification code error')
|
||||||
self._app.top_window().window(control_id=0x2, class_name="Button").click()
|
self._app.top_window().window(control_id=0x2, class_name="Button").click()
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
else:
|
else:
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -7,4 +7,4 @@ Gzip=0
|
|||||||
WndName=Ths_UserBehavior_test
|
WndName=Ths_UserBehavior_test
|
||||||
acct_bind=085006032667|073000003859|080000027181|073000004902|073000004916|073000003698|073000004092|073000003868|073000003921|073000004065|073000003769|073000004318|073000003702|085006040636|073000004495|073000004116|
|
acct_bind=085006032667|073000003859|080000027181|073000004902|073000004916|073000003698|073000004092|073000003868|073000003921|073000004065|073000003769|073000004318|073000003702|085006040636|073000004495|073000004116|
|
||||||
device_bind=1
|
device_bind=1
|
||||||
Xiadan_UB_test=125-5-19
|
Xiadan_UB_test=125-5-23
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
52243433=2024-4-10
|
52243433=2024-4-10
|
||||||
52243828=2024-2-7
|
52243828=2024-2-7
|
||||||
52244086=2024-3-12
|
52244086=2024-3-12
|
||||||
52243961=2025-6-6
|
52243961=2025-6-20
|
||||||
52260726=2023-9-15
|
52260726=2023-9-15
|
||||||
54354761=2023-10-10
|
54354761=2023-10-10
|
||||||
52260860=2023-5-15
|
52260860=2023-5-15
|
||||||
|
@ -53,3 +53,32 @@
|
|||||||
[2025-06-19 17:57:14:240][0x000409B2] 自动重连未开启
|
[2025-06-19 17:57:14:240][0x000409B2] 自动重连未开启
|
||||||
[2025-06-19 18:04:54:474][0x000E0946] 系统断线
|
[2025-06-19 18:04:54:474][0x000E0946] 系统断线
|
||||||
[2025-06-19 18:04:54:477][0x000E0946] 自动重连未开启
|
[2025-06-19 18:04:54:477][0x000E0946] 自动重连未开启
|
||||||
|
[2025-06-20 16:34:45:165][0x00040E3A] 系统断线
|
||||||
|
[2025-06-20 16:34:45:167][0x00040E3A] 自动重连未开启
|
||||||
|
[2025-06-20 16:44:09:331][0x00080D58] 系统断线
|
||||||
|
[2025-06-20 16:44:09:333][0x00080D58] 自动重连未开启
|
||||||
|
[2025-06-20 16:55:02:515][0x000600A2] 系统断线
|
||||||
|
[2025-06-20 16:55:02:515][0x000600A2] 自动重连未开启
|
||||||
|
[2025-06-20 17:10:00:532][0x00120436] 系统断线
|
||||||
|
[2025-06-20 17:10:00:535][0x00120436] 自动重连未开启
|
||||||
|
[2025-06-20 17:20:11:356][0x001002FA] 系统断线
|
||||||
|
[2025-06-20 17:20:11:359][0x001002FA] 自动重连未开启
|
||||||
|
[2025-06-20 17:22:46:838][0x00170F7C] 系统断线
|
||||||
|
[2025-06-20 17:22:46:843][0x00170F7C] 自动重连未开启
|
||||||
|
[2025-06-20 17:31:15:664][0x00270A06] 系统断线
|
||||||
|
[2025-06-20 17:31:15:668][0x00270A06] 自动重连未开启
|
||||||
|
[2025-06-20 17:34:22:188][0x001506CA] 系统断线
|
||||||
|
[2025-06-20 17:34:22:191][0x001506CA] 自动重连未开启
|
||||||
|
[2025-06-20 18:02:21:639][0x00330720] 系统断线
|
||||||
|
[2025-06-20 18:02:21:641][0x00330720] 自动重连未开启
|
||||||
|
[2025-06-20 18:25:09:878][0x000C0516] 系统断线
|
||||||
|
[2025-06-20 18:25:09:882][0x000C0516] 自动重连未开启
|
||||||
|
[2025-06-20 18:31:39:710][0x00090BA4] 系统断线
|
||||||
|
[2025-06-20 18:31:39:712][0x00090BA4] 自动重连未开启
|
||||||
|
[2025-06-23 11:17:50:024][0x001B1188] 系统断线
|
||||||
|
[2025-06-23 11:17:50:040][0x001B1188] 自动重连未开启
|
||||||
|
[2025-06-23 11:22:10:885][0x001C1188] 系统断线
|
||||||
|
[2025-06-23 14:52:07:516][0x000F0908] 系统断线
|
||||||
|
[2025-06-23 14:52:07:516][0x000F0908] 自动重连未开启
|
||||||
|
[2025-06-23 15:03:23:604][0x00081870] 系统断线
|
||||||
|
[2025-06-23 15:03:23:604][0x00081870] 自动重连未开启
|
||||||
|
Binary file not shown.
@ -89,6 +89,7 @@ WT_FLOATCACHE_24CFF3CF218A73AF5B8E03E92AF583D6=294tem0S2k==
|
|||||||
WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k==
|
WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k==
|
||||||
WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k==
|
WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k==
|
||||||
WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k==
|
WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k==
|
||||||
|
WT_FLOATCACHE_A7746BCB2D0919A6926DA76998D1F065=294tem0S2k==
|
||||||
WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k==
|
WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k==
|
||||||
WT_FONTSIZE=0
|
WT_FONTSIZE=0
|
||||||
WT_HEIGHT=764
|
WT_HEIGHT=764
|
||||||
@ -97,13 +98,13 @@ WT_INVALIDPWD_LIMIT=0
|
|||||||
WT_LEFTWIDTH=229
|
WT_LEFTWIDTH=229
|
||||||
WT_LINKFAST=0
|
WT_LINKFAST=0
|
||||||
WT_MASKACCOUNT=0
|
WT_MASKACCOUNT=0
|
||||||
WT_MINSIZEX=-1
|
WT_MINSIZEX=1
|
||||||
WT_MINSIZEY=-1
|
WT_MINSIZEY=999
|
||||||
WT_MODE_GPYK=0
|
WT_MODE_GPYK=0
|
||||||
WT_NEWLI_MNLEFT=0
|
WT_NEWLI_MNLEFT=0
|
||||||
WT_NEWLI_MNTOP=0
|
WT_NEWLI_MNTOP=0
|
||||||
WT_POSITION_LEFT=26
|
WT_POSITION_LEFT=78
|
||||||
WT_POSITION_TOP=26
|
WT_POSITION_TOP=78
|
||||||
WT_SAVEACCOUNT=0
|
WT_SAVEACCOUNT=0
|
||||||
WT_SOUND_ALARM=1
|
WT_SOUND_ALARM=1
|
||||||
WT_TONGXUN=0
|
WT_TONGXUN=0
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
DATE=20141016
|
||||||
|
|
||||||
[CHANGE_TIP]
|
[CHANGE_TIP]
|
||||||
GUI_CHEDAN_CONFIRM=27;no;您取消了撤单前确认提示功能。|您确定理解该项设置的用法,并愿意承担误操作的风险吗?
|
GUI_CHEDAN_CONFIRM=27;no;您取消了撤单前确认提示功能。|您确定理解该项设置的用法,并愿意承担误操作的风险吗?
|
||||||
@ -202,7 +203,7 @@ JJ_UNABLEKKZQ=1
|
|||||||
NEED_APPROPRIATENESS_MANAGE=161
|
NEED_APPROPRIATENESS_MANAGE=161
|
||||||
TJD_STAGGING_CD_TIP=<font size=16>\n撤销后该笔条件单将失效并被删除。\n确定撤销本条件单?\n</font>
|
TJD_STAGGING_CD_TIP=<font size=16>\n撤销后该笔条件单将失效并被删除。\n确定撤销本条件单?\n</font>
|
||||||
WT_2016_NOTSEND_RZRQ_CX_RQFZDDMX=1
|
WT_2016_NOTSEND_RZRQ_CX_RQFZDDMX=1
|
||||||
WT_3MASK=50*;2*;51*;58*;03*;18:9*;42*;56*;706080;009*;01*;02*;09*;100*;101*;102*;103*;104*;105*;106*;107*;108*;109*;11*;12*;131*;130*;133*;134*;135*;136*;137*;138*;139*;14*;15*;16*;17*;18*;19*;404*;81*;821*;35:5*;
|
WT_3MASK=50*;2*;51*;58*;52*;03*;18:9*;42*;56*;706080;009*;01*;02*;09*;100*;101*;102*;103*;104*;105*;106*;107*;108*;109*;11*;12*;131*;130*;133*;134*;135*;136*;137*;138*;139*;14*;15*;16*;17*;18*;19*;404*;81*;821*;35:5*;
|
||||||
WT_449_RQFZRZFZ_SUP_CHECK=0
|
WT_449_RQFZRZFZ_SUP_CHECK=0
|
||||||
WT_450_RQFZRZFZ_SUP_CHECK=1
|
WT_450_RQFZRZFZ_SUP_CHECK=1
|
||||||
WT_452_RQFZRZFZ_SUP_CHECK=1
|
WT_452_RQFZRZFZ_SUP_CHECK=1
|
||||||
@ -241,6 +242,7 @@ WT_DEFAULT_RZRQ_CHECK=1
|
|||||||
WT_DISPUNITMASK=1000:780*
|
WT_DISPUNITMASK=1000:780*
|
||||||
WT_DOCKHEIGHT=265
|
WT_DOCKHEIGHT=265
|
||||||
WT_DOCKRIGHT=0
|
WT_DOCKRIGHT=0
|
||||||
|
WT_DOCKWIDTH=
|
||||||
WT_DOWNDEPT=1
|
WT_DOWNDEPT=1
|
||||||
WT_DPI=1
|
WT_DPI=1
|
||||||
WT_DZDMODE=0
|
WT_DZDMODE=0
|
||||||
@ -267,9 +269,9 @@ WT_KSWTDEFAULTID=1574
|
|||||||
WT_LASTATYPE=48
|
WT_LASTATYPE=48
|
||||||
WT_LASTCRYPTID=1110
|
WT_LASTCRYPTID=1110
|
||||||
WT_LASTLOGINTYPE=0
|
WT_LASTLOGINTYPE=0
|
||||||
WT_LASTNOTIDATE=20250619
|
WT_LASTNOTIDATE=20250623
|
||||||
WT_LASTNOTIID=578273CEA86FD408CF2FC56271B2C09B
|
WT_LASTNOTIID=578273CEA86FD408CF2FC56271B2C09B
|
||||||
WT_LASTREQ_XGSGPKG_DATE=20250619
|
WT_LASTREQ_XGSGPKG_DATE=20250623
|
||||||
WT_LEFTWIDTH=229
|
WT_LEFTWIDTH=229
|
||||||
WT_LIMITINVALIDPWD=0
|
WT_LIMITINVALIDPWD=0
|
||||||
WT_LINKFAST=0
|
WT_LINKFAST=0
|
||||||
@ -279,8 +281,8 @@ WT_MAICHU_PLCL=1
|
|||||||
WT_MAIRU_PLCL=0
|
WT_MAIRU_PLCL=0
|
||||||
WT_MASKACCOUNT=0
|
WT_MASKACCOUNT=0
|
||||||
WT_MINIWTNEW=0
|
WT_MINIWTNEW=0
|
||||||
WT_MINSIZEX=-1
|
WT_MINSIZEX=1
|
||||||
WT_MINSIZEY=-1
|
WT_MINSIZEY=999
|
||||||
WT_MODE_GPYK=0
|
WT_MODE_GPYK=0
|
||||||
WT_NEWLI_MNLEFT=0
|
WT_NEWLI_MNLEFT=0
|
||||||
WT_NEWLI_MNTOP=0
|
WT_NEWLI_MNTOP=0
|
||||||
@ -291,10 +293,11 @@ WT_NO_ZZDETAIL=1
|
|||||||
WT_ONLINEMODE=1
|
WT_ONLINEMODE=1
|
||||||
WT_OTC_YXMR_FXXYS=1
|
WT_OTC_YXMR_FXXYS=1
|
||||||
WT_POSITION=4
|
WT_POSITION=4
|
||||||
WT_POSITION_LEFT=26
|
WT_POSITION_LEFT=78
|
||||||
WT_POSITION_TOP=26
|
WT_POSITION_TOP=78
|
||||||
WT_PROPERTY_WIDTH=204
|
WT_PROPERTY_WIDTH=204
|
||||||
WT_PTDLRZRQCHECK=0
|
WT_PTDLRZRQCHECK=0
|
||||||
|
WT_QQ_NEWQUICKWTMODE=
|
||||||
WT_QUERYREFRESH=0
|
WT_QUERYREFRESH=0
|
||||||
WT_REFRESHTIME=0
|
WT_REFRESHTIME=0
|
||||||
WT_RZRQSAVEACCOUNT=0
|
WT_RZRQSAVEACCOUNT=0
|
||||||
@ -309,6 +312,7 @@ WT_SHOWBINDINFO=2
|
|||||||
WT_SHOWPINCERTQUESTION=首次使用SSL加密方式登录,或更换登录设备的用户,需要先设置证书密码。请点击(?)按钮查看具体操作说明。
|
WT_SHOWPINCERTQUESTION=首次使用SSL加密方式登录,或更换登录设备的用户,需要先设置证书密码。请点击(?)按钮查看具体操作说明。
|
||||||
WT_SHOWPINCERTQUESTION_URL=0|http://jrzd.dwstock.com:8066/policy/index.html?code=guomi
|
WT_SHOWPINCERTQUESTION_URL=0|http://jrzd.dwstock.com:8066/policy/index.html?code=guomi
|
||||||
WT_SHOWPWDPROMPT=1
|
WT_SHOWPWDPROMPT=1
|
||||||
|
WT_SIMPLEMODE=
|
||||||
WT_SOUND_ALARM=1
|
WT_SOUND_ALARM=1
|
||||||
WT_SPEEDTEST_TIMEOUT=1000
|
WT_SPEEDTEST_TIMEOUT=1000
|
||||||
WT_STAGGING_TIMELIMIT=09:30|14:40
|
WT_STAGGING_TIMELIMIT=09:30|14:40
|
||||||
@ -322,7 +326,7 @@ WT_TJD_STAGGING_TIP4=
|
|||||||
WT_TONGXUN=0
|
WT_TONGXUN=0
|
||||||
WT_UPGRADEADDR=
|
WT_UPGRADEADDR=
|
||||||
WT_UPGRADEPORT=0
|
WT_UPGRADEPORT=0
|
||||||
WT_UPGRADEURL=http://xiucai-client.oss-cn-shanghai.aliyuncs.com/xiadan.exe
|
WT_UPGRADEURL=
|
||||||
WT_USESPRITE=0
|
WT_USESPRITE=0
|
||||||
WT_WIDTH=1494
|
WT_WIDTH=1494
|
||||||
WT_XDATA_ACCOUNT_ENCODE=1
|
WT_XDATA_ACCOUNT_ENCODE=1
|
||||||
@ -333,7 +337,7 @@ WT_YYBIDS=0100|ʨɽ·Ӫҵ
|
|||||||
WT_ZCSX_ENABLE=1
|
WT_ZCSX_ENABLE=1
|
||||||
WT_ZCSX_INTERVAL=1000
|
WT_ZCSX_INTERVAL=1000
|
||||||
WT_ZCSX_WT_INTERVAL=10
|
WT_ZCSX_WT_INTERVAL=10
|
||||||
WT_ZHANGMASK=11*;12*;13*;10*;181*;12*;0707*;35:10*;35:11*;35:12*;35:13*;35:143*;35:144*;35:146*;35:149*;35:19*;19:009*;19:01*;19:02*;19:09*;19:101*;19:102*;19:103*;19:104*;19:105*;19:106*;19:107*;19:108*;19:12*;19:13*;19:14*;19:15*;19:16*;19:17*;19:18*;19:19*;19:2*;404*;81*;
|
WT_ZHANGMASK=11*;12*;13*;10*;181*;12*;0707*;35:10*;35:11*;35:12*;35:13*;35:143*;35:144*;35:146*;35:149*;35:19*;19:009*;19:01*;19:02*;19:09*;19:101*;19:102*;19:103*;19:104*;19:105*;19:106*;19:107*;19:108*;19:12*;19:13*;19:14*;19:15*;19:16*;19:17*;19:18*;19:19*;19:2*;404*;81*;821*;35:5*;
|
||||||
WT_ZJHQ_FILTERBYZQDM=1
|
WT_ZJHQ_FILTERBYZQDM=1
|
||||||
WT_ZXHQCHANGELSH_UPDATEYHSL=1
|
WT_ZXHQCHANGELSH_UPDATEYHSL=1
|
||||||
WT_ZXHQDQHY_LISTCHECK=1
|
WT_ZXHQDQHY_LISTCHECK=1
|
||||||
@ -430,6 +434,7 @@ WT_FLOATCACHE_24CFF3CF218A73AF5B8E03E92AF583D6=294tem0S2k==
|
|||||||
WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k==
|
WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k==
|
||||||
WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k==
|
WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k==
|
||||||
WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k==
|
WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k==
|
||||||
|
WT_FLOATCACHE_A7746BCB2D0919A6926DA76998D1F065=294tem0S2k==
|
||||||
WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k==
|
WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k==
|
||||||
WT_FONTSIZE=0
|
WT_FONTSIZE=0
|
||||||
WT_HEIGHT=764
|
WT_HEIGHT=764
|
||||||
@ -438,13 +443,13 @@ WT_INVALIDPWD_LIMIT=0
|
|||||||
WT_LEFTWIDTH=229
|
WT_LEFTWIDTH=229
|
||||||
WT_LINKFAST=0
|
WT_LINKFAST=0
|
||||||
WT_MASKACCOUNT=0
|
WT_MASKACCOUNT=0
|
||||||
WT_MINSIZEX=-1
|
WT_MINSIZEX=1
|
||||||
WT_MINSIZEY=-1
|
WT_MINSIZEY=999
|
||||||
WT_MODE_GPYK=0
|
WT_MODE_GPYK=0
|
||||||
WT_NEWLI_MNLEFT=0
|
WT_NEWLI_MNLEFT=0
|
||||||
WT_NEWLI_MNTOP=0
|
WT_NEWLI_MNTOP=0
|
||||||
WT_POSITION_LEFT=26
|
WT_POSITION_LEFT=78
|
||||||
WT_POSITION_TOP=26
|
WT_POSITION_TOP=78
|
||||||
WT_SAVEACCOUNT=0
|
WT_SAVEACCOUNT=0
|
||||||
WT_SOUND_ALARM=1
|
WT_SOUND_ALARM=1
|
||||||
WT_TONGXUN=0
|
WT_TONGXUN=0
|
||||||
@ -458,7 +463,8 @@ USERBEHAVIOR=1
|
|||||||
WNDNAME=Ths_UserBehavior_test
|
WNDNAME=Ths_UserBehavior_test
|
||||||
|
|
||||||
[WT_SERVER]
|
[WT_SERVER]
|
||||||
TCP/IP_ACCOUNTTYPE0=
|
LASTUPDATE=20141016
|
||||||
|
TCP/IP_ACCOUNTTYPE6=
|
||||||
TCP/IP_ADDRESS0=wtssl.dwstock.com
|
TCP/IP_ADDRESS0=wtssl.dwstock.com
|
||||||
TCP/IP_ADDRESS1=58.240.173.150
|
TCP/IP_ADDRESS1=58.240.173.150
|
||||||
TCP/IP_ADDRESS2=114.94.49.59
|
TCP/IP_ADDRESS2=114.94.49.59
|
||||||
@ -487,7 +493,7 @@ TCP/IP_CRYPTPROTOCOL3=SSL
|
|||||||
TCP/IP_CRYPTPROTOCOL4=SSL
|
TCP/IP_CRYPTPROTOCOL4=SSL
|
||||||
TCP/IP_CRYPTPROTOCOL5=SSL
|
TCP/IP_CRYPTPROTOCOL5=SSL
|
||||||
TCP/IP_CRYPTPROTOCOL6=SSL
|
TCP/IP_CRYPTPROTOCOL6=SSL
|
||||||
TCP/IP_CUR_SERVER=0
|
TCP/IP_CUR_SERVER=6
|
||||||
TCP/IP_DEPTID0=0100
|
TCP/IP_DEPTID0=0100
|
||||||
TCP/IP_DEPTID1=0100
|
TCP/IP_DEPTID1=0100
|
||||||
TCP/IP_DEPTID2=0100
|
TCP/IP_DEPTID2=0100
|
||||||
@ -495,7 +501,7 @@ TCP/IP_DEPTID3=0100
|
|||||||
TCP/IP_DEPTID4=0100
|
TCP/IP_DEPTID4=0100
|
||||||
TCP/IP_DEPTID5=0100
|
TCP/IP_DEPTID5=0100
|
||||||
TCP/IP_DEPTID6=0100
|
TCP/IP_DEPTID6=0100
|
||||||
TCP/IP_DEPTLIST0=
|
TCP/IP_DEPTLIST6=
|
||||||
TCP/IP_DEPTNAME0=狮山路营业部
|
TCP/IP_DEPTNAME0=狮山路营业部
|
||||||
TCP/IP_DEPTNAME1=狮山路营业部
|
TCP/IP_DEPTNAME1=狮山路营业部
|
||||||
TCP/IP_DEPTNAME10=狮山路营业部
|
TCP/IP_DEPTNAME10=狮山路营业部
|
||||||
@ -559,7 +565,7 @@ TCP/IP_POWER9=0
|
|||||||
TCP/IP_PROXYPORT=0
|
TCP/IP_PROXYPORT=0
|
||||||
TCP/IP_PROXYTYPE=0
|
TCP/IP_PROXYTYPE=0
|
||||||
TCP/IP_SERVER_NUM=7
|
TCP/IP_SERVER_NUM=7
|
||||||
TCP/IP_SITEID0=
|
TCP/IP_SITEID6=
|
||||||
TCP/IP_SSLCERT_PORT0=2235
|
TCP/IP_SSLCERT_PORT0=2235
|
||||||
TCP/IP_SSLCERT_PORT1=2235
|
TCP/IP_SSLCERT_PORT1=2235
|
||||||
TCP/IP_SSLCERT_PORT10=2235
|
TCP/IP_SSLCERT_PORT10=2235
|
||||||
@ -597,7 +603,7 @@ TCP/IP_USEPROXY=0
|
|||||||
USEDIAL=0
|
USEDIAL=0
|
||||||
|
|
||||||
[东吴证券电信入口二]
|
[东吴证券电信入口二]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.31.245:18002|#H:1
|
||||||
|
|
||||||
[东吴证券电信入口三]
|
[东吴证券电信入口三]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
||||||
@ -612,13 +618,13 @@ TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8002|222.92.150.138:8002|222.92.132.
|
|||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=61.132.116.211:8002|58.211.94.45:8002|221.6.67.124:8002|58.211.31.245:8002|222.92.132.238:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=61.132.116.211:8002|58.211.94.45:8002|221.6.67.124:8002|58.211.31.245:8002|222.92.132.238:8002|#HHHH:1
|
||||||
|
|
||||||
[东吴证券网通入口二]
|
[东吴证券网通入口二]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8002|222.92.150.138:8002|222.92.132.238:8002|58.211.31.245:8002|#HHHH:1
|
||||||
|
|
||||||
[东吴证券网通入口一]
|
[东吴证券网通入口一]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
||||||
|
|
||||||
[东吴证券移动入口一]
|
[东吴证券移动入口一]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8002|222.92.150.138:8002|222.92.132.238:8002|58.211.31.245:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8008|222.92.150.138:8002|#HH:1
|
||||||
|
|
||||||
[东吴证券总交易入口]
|
[东吴证券总交易入口]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
DATE=20141016
|
||||||
|
|
||||||
[CHANGE_TIP]
|
[CHANGE_TIP]
|
||||||
GUI_CHEDAN_CONFIRM=27;no;您取消了撤单前确认提示功能。|您确定理解该项设置的用法,并愿意承担误操作的风险吗?
|
GUI_CHEDAN_CONFIRM=27;no;您取消了撤单前确认提示功能。|您确定理解该项设置的用法,并愿意承担误操作的风险吗?
|
||||||
@ -267,9 +268,9 @@ WT_KSWTDEFAULTID=1574
|
|||||||
WT_LASTATYPE=48
|
WT_LASTATYPE=48
|
||||||
WT_LASTCRYPTID=1110
|
WT_LASTCRYPTID=1110
|
||||||
WT_LASTLOGINTYPE=0
|
WT_LASTLOGINTYPE=0
|
||||||
WT_LASTNOTIDATE=20250619
|
WT_LASTNOTIDATE=20250623
|
||||||
WT_LASTNOTIID=578273CEA86FD408CF2FC56271B2C09B
|
WT_LASTNOTIID=578273CEA86FD408CF2FC56271B2C09B
|
||||||
WT_LASTREQ_XGSGPKG_DATE=20250619
|
WT_LASTREQ_XGSGPKG_DATE=20250623
|
||||||
WT_LEFTWIDTH=229
|
WT_LEFTWIDTH=229
|
||||||
WT_LIMITINVALIDPWD=0
|
WT_LIMITINVALIDPWD=0
|
||||||
WT_LINKFAST=0
|
WT_LINKFAST=0
|
||||||
@ -279,8 +280,8 @@ WT_MAICHU_PLCL=1
|
|||||||
WT_MAIRU_PLCL=0
|
WT_MAIRU_PLCL=0
|
||||||
WT_MASKACCOUNT=0
|
WT_MASKACCOUNT=0
|
||||||
WT_MINIWTNEW=0
|
WT_MINIWTNEW=0
|
||||||
WT_MINSIZEX=-1
|
WT_MINSIZEX=1
|
||||||
WT_MINSIZEY=-1
|
WT_MINSIZEY=999
|
||||||
WT_MODE_GPYK=0
|
WT_MODE_GPYK=0
|
||||||
WT_NEWLI_MNLEFT=0
|
WT_NEWLI_MNLEFT=0
|
||||||
WT_NEWLI_MNTOP=0
|
WT_NEWLI_MNTOP=0
|
||||||
@ -291,8 +292,8 @@ WT_NO_ZZDETAIL=1
|
|||||||
WT_ONLINEMODE=1
|
WT_ONLINEMODE=1
|
||||||
WT_OTC_YXMR_FXXYS=1
|
WT_OTC_YXMR_FXXYS=1
|
||||||
WT_POSITION=4
|
WT_POSITION=4
|
||||||
WT_POSITION_LEFT=26
|
WT_POSITION_LEFT=78
|
||||||
WT_POSITION_TOP=26
|
WT_POSITION_TOP=78
|
||||||
WT_PROPERTY_WIDTH=204
|
WT_PROPERTY_WIDTH=204
|
||||||
WT_PTDLRZRQCHECK=0
|
WT_PTDLRZRQCHECK=0
|
||||||
WT_QUERYREFRESH=0
|
WT_QUERYREFRESH=0
|
||||||
@ -429,6 +430,7 @@ WT_FLOATCACHE_24CFF3CF218A73AF5B8E03E92AF583D6=294tem0S2k==
|
|||||||
WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k==
|
WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k==
|
||||||
WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k==
|
WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k==
|
||||||
WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k==
|
WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k==
|
||||||
|
WT_FLOATCACHE_A7746BCB2D0919A6926DA76998D1F065=294tem0S2k==
|
||||||
WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k==
|
WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k==
|
||||||
WT_FONTSIZE=0
|
WT_FONTSIZE=0
|
||||||
WT_HEIGHT=764
|
WT_HEIGHT=764
|
||||||
@ -437,13 +439,13 @@ WT_INVALIDPWD_LIMIT=0
|
|||||||
WT_LEFTWIDTH=229
|
WT_LEFTWIDTH=229
|
||||||
WT_LINKFAST=0
|
WT_LINKFAST=0
|
||||||
WT_MASKACCOUNT=0
|
WT_MASKACCOUNT=0
|
||||||
WT_MINSIZEX=-1
|
WT_MINSIZEX=1
|
||||||
WT_MINSIZEY=-1
|
WT_MINSIZEY=999
|
||||||
WT_MODE_GPYK=0
|
WT_MODE_GPYK=0
|
||||||
WT_NEWLI_MNLEFT=0
|
WT_NEWLI_MNLEFT=0
|
||||||
WT_NEWLI_MNTOP=0
|
WT_NEWLI_MNTOP=0
|
||||||
WT_POSITION_LEFT=26
|
WT_POSITION_LEFT=78
|
||||||
WT_POSITION_TOP=26
|
WT_POSITION_TOP=78
|
||||||
WT_SAVEACCOUNT=0
|
WT_SAVEACCOUNT=0
|
||||||
WT_SOUND_ALARM=1
|
WT_SOUND_ALARM=1
|
||||||
WT_TONGXUN=0
|
WT_TONGXUN=0
|
||||||
@ -457,6 +459,7 @@ USERBEHAVIOR=1
|
|||||||
WNDNAME=Ths_UserBehavior_test
|
WNDNAME=Ths_UserBehavior_test
|
||||||
|
|
||||||
[WT_SERVER]
|
[WT_SERVER]
|
||||||
|
LASTUPDATE=20141016
|
||||||
TCP/IP_ADDRESS0=wtssl.dwstock.com
|
TCP/IP_ADDRESS0=wtssl.dwstock.com
|
||||||
TCP/IP_ADDRESS1=58.240.173.150
|
TCP/IP_ADDRESS1=58.240.173.150
|
||||||
TCP/IP_ADDRESS2=114.94.49.59
|
TCP/IP_ADDRESS2=114.94.49.59
|
||||||
@ -485,7 +488,7 @@ TCP/IP_CRYPTPROTOCOL3=SSL
|
|||||||
TCP/IP_CRYPTPROTOCOL4=SSL
|
TCP/IP_CRYPTPROTOCOL4=SSL
|
||||||
TCP/IP_CRYPTPROTOCOL5=SSL
|
TCP/IP_CRYPTPROTOCOL5=SSL
|
||||||
TCP/IP_CRYPTPROTOCOL6=SSL
|
TCP/IP_CRYPTPROTOCOL6=SSL
|
||||||
TCP/IP_CUR_SERVER=0
|
TCP/IP_CUR_SERVER=6
|
||||||
TCP/IP_DEPTID0=0100
|
TCP/IP_DEPTID0=0100
|
||||||
TCP/IP_DEPTID1=0100
|
TCP/IP_DEPTID1=0100
|
||||||
TCP/IP_DEPTID2=0100
|
TCP/IP_DEPTID2=0100
|
||||||
@ -593,7 +596,7 @@ TCP/IP_USEPROXY=0
|
|||||||
USEDIAL=0
|
USEDIAL=0
|
||||||
|
|
||||||
[东吴证券电信入口二]
|
[东吴证券电信入口二]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.31.245:18002|#H:1
|
||||||
|
|
||||||
[东吴证券电信入口三]
|
[东吴证券电信入口三]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
||||||
@ -608,16 +611,16 @@ TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8002|222.92.150.138:8002|222.92.132.
|
|||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=61.132.116.211:8002|58.211.94.45:8002|221.6.67.124:8002|58.211.31.245:8002|222.92.132.238:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=61.132.116.211:8002|58.211.94.45:8002|221.6.67.124:8002|58.211.31.245:8002|222.92.132.238:8002|#HHHH:1
|
||||||
|
|
||||||
[东吴证券网通入口二]
|
[东吴证券网通入口二]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8002|222.92.150.138:8002|222.92.132.238:8002|58.211.31.245:8002|#HHHH:1
|
||||||
|
|
||||||
[东吴证券网通入口一]
|
[东吴证券网通入口一]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
||||||
|
|
||||||
[东吴证券移动入口一]
|
[东吴证券移动入口一]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8002|222.92.150.138:8002|222.92.132.238:8002|58.211.31.245:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=58.211.94.45:8008|222.92.150.138:8002|#HH:1
|
||||||
|
|
||||||
[东吴证券总交易入口]
|
[东吴证券总交易入口]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|58.211.31.245:8002|222.92.150.138:8002|58.211.94.45:8002|#HHHH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8009|58.211.31.245:8009|#HH:1
|
||||||
|
|
||||||
[东吴证券总入口]
|
[东吴证券总入口]
|
||||||
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|222.92.150.138:8002|#HH:1
|
TCP/IP_DYNAMICADDRESSWT_SERVER=222.92.132.238:8002|222.92.150.138:8002|#HH:1
|
||||||
|
File diff suppressed because it is too large
Load Diff
BIN
imgs/temp123.png
BIN
imgs/temp123.png
Binary file not shown.
Before Width: | Height: | Size: 832 B After Width: | Height: | Size: 791 B |
Binary file not shown.
Before Width: | Height: | Size: 907 B After Width: | Height: | Size: 951 B |
@ -1,22 +0,0 @@
|
|||||||
# 此脚本调试时非常常用,不可删除
|
|
||||||
import winreg
|
|
||||||
import ctypes
|
|
||||||
|
|
||||||
def reset_proxy_to_default():
|
|
||||||
"""恢复系统代理为默认(关闭)"""
|
|
||||||
key = winreg.OpenKey(
|
|
||||||
winreg.HKEY_CURRENT_USER,
|
|
||||||
r"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",
|
|
||||||
0, winreg.KEY_WRITE
|
|
||||||
)
|
|
||||||
try:
|
|
||||||
winreg.SetValueEx(key, "ProxyEnable", 0, winreg.REG_DWORD, 0)
|
|
||||||
winreg.SetValueEx(key, "ProxyServer", 0, winreg.REG_SZ, "")
|
|
||||||
winreg.SetValueEx(key, "ProxyOverride", 0, winreg.REG_SZ, "<local>")
|
|
||||||
finally:
|
|
||||||
winreg.CloseKey(key)
|
|
||||||
internet_set_option = ctypes.windll.Wininet.InternetSetOptionW
|
|
||||||
internet_set_option(0, 37, 0, 0)
|
|
||||||
internet_set_option(0, 39, 0, 0)
|
|
||||||
|
|
||||||
reset_proxy_to_default()
|
|
69
logs/13401019175.log
Normal file
69
logs/13401019175.log
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
[2025-06-20 16:32:31] [INFO] Start login
|
||||||
|
[2025-06-20 16:32:49] [INFO] 代理IP已经获取{'ip': '180.120.6.234', 'port': 40027, 'prov': '江苏', 'city': '南通', 'isp': '电信', 'expire': '2025-06-20 16:37:51'}
|
||||||
|
[2025-06-20 16:32:51] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 16:33:57] [INFO] Start login
|
||||||
|
[2025-06-20 16:34:13] [INFO] 代理IP已经获取{'ip': '121.226.92.111', 'port': 40041, 'prov': '江苏', 'city': '南通', 'isp': '电信', 'expire': '2025-06-20 16:39:15'}
|
||||||
|
[2025-06-20 16:34:14] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 16:37:37] [INFO] Start login
|
||||||
|
[2025-06-20 16:37:54] [INFO] 代理IP已经获取{'ip': '110.90.14.178', 'port': 40001, 'prov': '福建', 'city': '福州', 'isp': '电信', 'expire': '2025-06-20 16:42:56'}
|
||||||
|
[2025-06-20 16:37:55] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 16:51:33] [INFO] Start login
|
||||||
|
[2025-06-20 16:51:51] [INFO] 代理IP已经获取{'ip': '121.225.78.72', 'port': 40033, 'prov': '江苏', 'city': '南京', 'isp': '电信', 'expire': '2025-06-20 16:56:53'}
|
||||||
|
[2025-06-20 16:51:53] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 16:54:01] [WARNING] There are running programs, and there are processes in retreat
|
||||||
|
[2025-06-20 16:54:01] [INFO] Start login
|
||||||
|
[2025-06-20 16:54:18] [INFO] 代理IP已经获取{'ip': '114.225.124.157', 'port': 40013, 'prov': '江苏', 'city': '无锡', 'isp': '电信', 'expire': '2025-06-20 16:59:20'}
|
||||||
|
[2025-06-20 16:54:19] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 16:55:51] [INFO] Start login
|
||||||
|
[2025-06-20 16:56:09] [INFO] 代理IP已经获取{'ip': '117.86.187.5', 'port': 40012, 'prov': '江苏', 'city': '南通', 'isp': '电信', 'expire': '2025-06-20 17:01:11'}
|
||||||
|
[2025-06-20 16:56:10] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 16:59:15] [WARNING] There are running programs, and there are processes in retreat
|
||||||
|
[2025-06-20 16:59:15] [INFO] Start login
|
||||||
|
[2025-06-20 16:59:33] [INFO] 代理IP已经获取{'ip': '115.239.71.5', 'port': 40015, 'prov': '浙江', 'city': '嘉兴', 'isp': '电信', 'expire': '2025-06-20 17:04:35'}
|
||||||
|
[2025-06-20 16:59:34] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:01:40] [WARNING] There are running programs, and there are processes in retreat
|
||||||
|
[2025-06-20 17:01:40] [INFO] Start login
|
||||||
|
[2025-06-20 17:01:58] [INFO] 代理IP已经获取{'ip': '120.41.89.137', 'port': 40005, 'prov': '福建', 'city': '厦门', 'isp': '电信', 'expire': '2025-06-20 17:07:00'}
|
||||||
|
[2025-06-20 17:01:59] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:03:41] [WARNING] There are running programs, and there are processes in retreat
|
||||||
|
[2025-06-20 17:03:41] [INFO] Start login
|
||||||
|
[2025-06-20 17:03:58] [INFO] 代理IP已经获取{'ip': '49.88.138.165', 'port': 40032, 'prov': '江苏', 'city': '连云港', 'isp': '电信', 'expire': '2025-06-20 17:09:00'}
|
||||||
|
[2025-06-20 17:03:59] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:16:00] [INFO] Start login
|
||||||
|
[2025-06-20 17:16:22] [INFO] 代理IP已经获取{'ip': '113.242.237.157', 'port': 40018, 'prov': '湖南', 'city': '益阳', 'isp': '电信', 'expire': '2025-06-20 17:21:24'}
|
||||||
|
[2025-06-20 17:16:24] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:18:33] [WARNING] There are running programs, and there are processes in retreat
|
||||||
|
[2025-06-20 17:18:33] [INFO] Start login
|
||||||
|
[2025-06-20 17:18:52] [INFO] 代理IP已经获取{'ip': '49.70.97.222', 'port': 40050, 'prov': '江苏', 'city': '宿迁', 'isp': '电信', 'expire': '2025-06-20 17:23:54'}
|
||||||
|
[2025-06-20 17:18:53] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:20:18] [INFO] Start login
|
||||||
|
[2025-06-20 17:20:37] [INFO] 代理IP已经获取{'ip': '119.132.114.109', 'port': 40006, 'prov': '广东', 'city': '珠海', 'isp': '电信', 'expire': '2025-06-20 17:25:39'}
|
||||||
|
[2025-06-20 17:20:39] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:23:10] [INFO] Start login
|
||||||
|
[2025-06-20 17:23:30] [INFO] 代理IP已经获取{'ip': '121.61.195.41', 'port': 40030, 'prov': '湖北', 'city': '荆门', 'isp': '电信', 'expire': '2025-06-20 17:28:33'}
|
||||||
|
[2025-06-20 17:23:32] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 17:31:57] [INFO] Start login
|
||||||
|
[2025-06-20 17:32:19] [INFO] 代理IP已经获取{'ip': '110.184.178.94', 'port': 40013, 'prov': '四川', 'city': '成都', 'isp': '电信', 'expire': '2025-06-20 17:37:22'}
|
||||||
|
[2025-06-20 17:32:21] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 18:00:20] [INFO] Start login
|
||||||
|
[2025-06-20 18:00:39] [INFO] 代理IP已经获取{'ip': '117.26.131.222', 'port': 40032, 'prov': '福建', 'city': '宁德', 'isp': '电信', 'expire': '2025-06-20 18:05:41'}
|
||||||
|
[2025-06-20 18:00:41] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 18:10:32] [INFO] Start login
|
||||||
|
[2025-06-20 18:10:53] [INFO] 代理IP已经获取{'ip': '49.67.191.218', 'port': 40016, 'prov': '江苏', 'city': '南通', 'isp': '电信', 'expire': '2025-06-20 18:15:55'}
|
||||||
|
[2025-06-20 18:10:54] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-20 18:27:31] [INFO] Start login
|
||||||
|
[2025-06-20 18:27:50] [INFO] 代理IP已经获取{'ip': '27.156.199.206', 'port': 40010, 'prov': '福建', 'city': '宁德', 'isp': '电信', 'expire': '2025-06-20 18:32:52'}
|
||||||
|
[2025-06-20 18:27:51] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 11:17:20] [INFO] Start login
|
||||||
|
[2025-06-23 11:17:32] [INFO] 代理IP已经获取{'ip': '49.69.44.205', 'port': 40029, 'prov': '江苏', 'city': '盐城', 'isp': '电信', 'expire': '2025-06-23 11:22:33'}
|
||||||
|
[2025-06-23 11:17:32] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 11:21:52] [INFO] Start login
|
||||||
|
[2025-06-23 11:22:02] [INFO] 代理IP已经获取{'ip': '121.235.17.23', 'port': 40050, 'prov': '江苏', 'city': '无锡', 'isp': '电信', 'expire': '2025-06-23 11:27:03'}
|
||||||
|
[2025-06-23 11:22:02] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 13:42:01] [INFO] Start login
|
||||||
|
[2025-06-23 14:51:24] [INFO] Start login
|
||||||
|
[2025-06-23 14:51:41] [INFO] 代理IP已经获取{'ip': '111.224.75.104', 'port': 40012, 'prov': '河北', 'city': '石家庄', 'isp': '电信', 'expire': '2025-06-23 14:56:42'}
|
||||||
|
[2025-06-23 14:51:42] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 15:02:25] [INFO] Start login
|
||||||
|
[2025-06-23 15:02:44] [INFO] 代理IP已经获取{'ip': '121.230.8.13', 'port': 40029, 'prov': '江苏', 'city': '泰州', 'isp': '电信', 'expire': '2025-06-23 15:07:44'}
|
||||||
|
[2025-06-23 15:02:45] [INFO] 全局代理设置成功
|
23
logs/13593501968.log
Normal file
23
logs/13593501968.log
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
[2025-06-23 14:47:48] [INFO] Start login
|
||||||
|
[2025-06-23 14:48:51] [INFO] Start login
|
||||||
|
[2025-06-23 14:49:06] [INFO] 代理IP已经获取{'ip': '223.247.41.128', 'port': 40003, 'prov': '安徽', 'city': '池州', 'isp': '电信', 'expire': '2025-06-23 14:54:06'}
|
||||||
|
[2025-06-23 14:49:07] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 14:49:53] [INFO] Start login
|
||||||
|
[2025-06-23 14:50:06] [INFO] 代理IP已经获取{'ip': '115.199.227.55', 'port': 40004, 'prov': '浙江', 'city': '杭州', 'isp': '电信', 'expire': '2025-06-23 14:55:06'}
|
||||||
|
[2025-06-23 14:50:07] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 14:50:34] [INFO] Start login
|
||||||
|
[2025-06-23 14:50:46] [ERROR] 获取IP失败,请检查网络连接HTTPConnectionPool(host='api.tianqiip.com', port=80): Max retries exceeded with url: /getip?secret=d8wqfdf0qhrnxgne&num=1&yys=%E7%94%B5%E4%BF%A1&type=json&lb=%0A&port=3&time=5&ts=1&ys=1&cs=1&sign=386ff88188185bc6070ec011266745b3&mr=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000020057DB6898>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
|
||||||
|
[2025-06-23 14:50:51] [INFO] 代理IP已经获取{'ip': '114.232.0.16', 'port': 40030, 'prov': '江苏', 'city': '南通', 'isp': '电信', 'expire': '2025-06-23 14:55:51'}
|
||||||
|
[2025-06-23 14:50:52] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 14:52:19] [INFO] Start login
|
||||||
|
[2025-06-23 14:52:32] [ERROR] 获取IP失败,请检查网络连接HTTPConnectionPool(host='api.tianqiip.com', port=80): Max retries exceeded with url: /getip?secret=d8wqfdf0qhrnxgne&num=1&yys=%E7%94%B5%E4%BF%A1&type=json&lb=%0A&port=3&time=5&ts=1&ys=1&cs=1&sign=386ff88188185bc6070ec011266745b3&mr=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000002ACD2921128>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
|
||||||
|
[2025-06-23 14:52:38] [INFO] 代理IP已经获取{'ip': '171.110.88.163', 'port': 40037, 'prov': '广西', 'city': '桂林', 'isp': '电信', 'expire': '2025-06-23 14:57:38'}
|
||||||
|
[2025-06-23 14:52:39] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 14:54:05] [INFO] Start login
|
||||||
|
[2025-06-23 14:54:18] [ERROR] 获取IP失败,请检查网络连接HTTPConnectionPool(host='api.tianqiip.com', port=80): Max retries exceeded with url: /getip?secret=d8wqfdf0qhrnxgne&num=1&yys=%E7%94%B5%E4%BF%A1&type=json&lb=%0A&port=3&time=5&ts=1&ys=1&cs=1&sign=386ff88188185bc6070ec011266745b3&mr=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001C2D25720F0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
|
||||||
|
[2025-06-23 14:54:23] [INFO] 代理IP已经获取{'ip': '125.109.82.134', 'port': 40045, 'prov': '浙江', 'city': '温州', 'isp': '电信', 'expire': '2025-06-23 14:59:24'}
|
||||||
|
[2025-06-23 14:54:24] [INFO] 全局代理设置成功
|
||||||
|
[2025-06-23 14:55:16] [INFO] Start login
|
||||||
|
[2025-06-23 14:55:29] [ERROR] 获取IP失败,请检查网络连接HTTPConnectionPool(host='api.tianqiip.com', port=80): Max retries exceeded with url: /getip?secret=d8wqfdf0qhrnxgne&num=1&yys=%E7%94%B5%E4%BF%A1&type=json&lb=%0A&port=3&time=5&ts=1&ys=1&cs=1&sign=386ff88188185bc6070ec011266745b3&mr=1 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000230D37E2080>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
|
||||||
|
[2025-06-23 14:55:34] [INFO] 代理IP已经获取{'ip': '106.119.250.146', 'port': 40011, 'prov': '河北', 'city': '唐山', 'isp': '电信', 'expire': '2025-06-23 15:00:35'}
|
||||||
|
[2025-06-23 14:55:35] [INFO] 全局代理设置成功
|
@ -22,3 +22,58 @@
|
|||||||
[2025-06-19 18:20:53] [WARNING] MAC 重置之后:02-6D-59-EF-79-B5
|
[2025-06-19 18:20:53] [WARNING] MAC 重置之后:02-6D-59-EF-79-B5
|
||||||
[2025-06-19 18:24:31] [WARNING] MAC 重置之前:02-6D-59-EF-79-B5
|
[2025-06-19 18:24:31] [WARNING] MAC 重置之前:02-6D-59-EF-79-B5
|
||||||
[2025-06-19 18:24:38] [WARNING] MAC 重置之后:02-13-45-57-C3-1E
|
[2025-06-19 18:24:38] [WARNING] MAC 重置之后:02-13-45-57-C3-1E
|
||||||
|
[2025-06-20 16:32:31] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:32:43] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:33:57] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:34:09] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:37:37] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:37:48] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:51:33] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:51:45] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:54:02] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:54:14] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:55:52] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:56:03] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:59:16] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 16:59:28] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:01:41] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:01:53] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:03:42] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:03:54] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:16:01] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:16:13] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:18:33] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:18:46] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:20:18] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:20:30] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:23:11] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:23:23] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:31:58] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 17:32:10] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 18:00:21] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 18:00:33] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 18:10:33] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 18:10:46] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 18:27:31] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-20 18:27:44] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 11:17:20] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 11:17:30] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 11:21:53] [WARNING] MAC 重置之前:34-4B-50-00-00-00
|
||||||
|
[2025-06-23 11:22:01] [WARNING] MAC 重置之后:34-4B-50-00-00-00
|
||||||
|
[2025-06-23 13:42:02] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:48:53] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:49:06] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:49:53] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:50:06] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:50:34] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:50:46] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:51:25] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:51:37] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:52:20] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:52:32] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:54:05] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:54:18] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:55:17] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 14:55:29] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 15:02:25] [WARNING] MAC 重置之前:D0-39-57-B1-E5-41
|
||||||
|
[2025-06-23 15:02:37] [WARNING] MAC 重置之后:D0-39-57-B1-E5-41
|
||||||
|
Binary file not shown.
BIN
mysql_table/~$ip_tracking.xlsx
Normal file
BIN
mysql_table/~$ip_tracking.xlsx
Normal file
Binary file not shown.
90
tools.py
90
tools.py
@ -2,23 +2,17 @@ import warnings
|
|||||||
from hashlib import md5
|
from hashlib import md5
|
||||||
import pywinauto
|
import pywinauto
|
||||||
import pyautogui
|
import pyautogui
|
||||||
import requests
|
|
||||||
from sqlalchemy import create_engine
|
from sqlalchemy import create_engine
|
||||||
import pandas as pd
|
|
||||||
import logging
|
import logging
|
||||||
import time
|
|
||||||
import sys
|
|
||||||
import smtplib
|
import smtplib
|
||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
from email.mime.application import MIMEApplication
|
from email.mime.application import MIMEApplication
|
||||||
import os
|
|
||||||
import uuid
|
import uuid
|
||||||
import redis
|
import redis
|
||||||
import ctypes
|
import ctypes
|
||||||
import platform
|
import platform
|
||||||
import re
|
import re
|
||||||
import subprocess
|
|
||||||
import winreg
|
import winreg
|
||||||
import random
|
import random
|
||||||
import sys
|
import sys
|
||||||
@ -26,20 +20,17 @@ import datetime
|
|||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import os
|
import os
|
||||||
from openpyxl import load_workbook
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
import time
|
|
||||||
import requests
|
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
|
import logging
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
root_path = Path(__file__).parent
|
root_path = Path(__file__).parent
|
||||||
|
|
||||||
|
# 初始化日志
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def is_admin() -> bool:
|
def is_admin() -> bool:
|
||||||
@ -192,7 +183,7 @@ def connect_wifi(ssid: str = 'MaxEntropy', password: str = 'cskj12345678') -> bo
|
|||||||
try:
|
try:
|
||||||
os.remove(profile_path)
|
os.remove(profile_path)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"清理临时文件失败: {str(e)}")
|
print(f"清理wifi连接的临时文件失败: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
# 设置代理
|
# 设置代理
|
||||||
@ -209,50 +200,33 @@ def set_proxy(proxy_ip: str, proxy_port: int):
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
#启动软件进程,输入账号密码
|
|
||||||
print('Start login')
|
|
||||||
app = pywinauto.Application().start(proxifier_path,timeout=3)
|
app = pywinauto.Application().start(proxifier_path,timeout=3)
|
||||||
pyautogui.PAUSE = 0.001
|
pyautogui.PAUSE = 0.01
|
||||||
|
|
||||||
# 设置主菜单窗口
|
|
||||||
|
|
||||||
# 步骤1:等待Proxifier窗口激活(确保窗口处于活动状态)
|
|
||||||
print("确保Proxifier窗口在前台(按Alt+Tab切换)...")
|
|
||||||
|
|
||||||
# 步骤2:执行完整的按键序列
|
|
||||||
print("开始执行按键序列...")
|
|
||||||
try:
|
try:
|
||||||
# Alt键 - 激活菜单栏
|
# Alt键 - 激活菜单栏
|
||||||
pyautogui.keyDown('alt')
|
pyautogui.keyDown('alt')
|
||||||
pyautogui.keyUp('alt')
|
pyautogui.keyUp('alt')
|
||||||
|
|
||||||
# Tab键 - 第一次
|
|
||||||
pyautogui.press('tab')
|
pyautogui.press('tab')
|
||||||
|
pyautogui.press('enter') # Enter键 - 第一次(打开Profile菜单)
|
||||||
# Enter键 - 第一次(打开Profile菜单)
|
|
||||||
pyautogui.press('enter')
|
|
||||||
|
|
||||||
# # Tab键 - 第二次
|
|
||||||
pyautogui.press('enter')
|
pyautogui.press('enter')
|
||||||
|
pyautogui.press('enter') # Enter键 - 第三次(打开Proxy Servers菜单)
|
||||||
# Enter键 - 第三次(打开Proxy Servers菜单)
|
|
||||||
pyautogui.press('enter')
|
|
||||||
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"操作出错: {e}")
|
logger.error(f"操作出错: {e}")
|
||||||
print("请手动检查窗口状态后重试")
|
logger.error("请手动检查窗口状态后重试")
|
||||||
|
|
||||||
|
|
||||||
# 输入ip和端口
|
# 输入ip和端口
|
||||||
try:
|
try:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
print('Start input ip and port')
|
|
||||||
pyautogui.typewrite(proxy_ip)
|
pyautogui.typewrite(proxy_ip)
|
||||||
|
|
||||||
pyautogui.press('tab')
|
pyautogui.press('tab')
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
pyautogui.typewrite(proxy_port)
|
pyautogui.typewrite(str(proxy_port))
|
||||||
pyautogui.press('enter')
|
pyautogui.press('enter')
|
||||||
pyautogui.press('tab')
|
pyautogui.press('tab')
|
||||||
pyautogui.press('tab')
|
pyautogui.press('tab')
|
||||||
@ -262,7 +236,7 @@ def set_proxy(proxy_ip: str, proxy_port: int):
|
|||||||
pyautogui.press('tab')
|
pyautogui.press('tab')
|
||||||
pyautogui.press('enter')
|
pyautogui.press('enter')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
logger.error(e)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -651,17 +625,7 @@ class Logger():
|
|||||||
# 设置格式
|
# 设置格式
|
||||||
fmt = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S')
|
fmt = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
# 文件处理器
|
|
||||||
fh = logging.FileHandler(self.fileName, encoding='utf-8')
|
|
||||||
fh.setFormatter(fmt)
|
|
||||||
fh.setLevel(Flevel)
|
|
||||||
self.logger.addHandler(fh)
|
|
||||||
|
|
||||||
# 控制台处理器
|
|
||||||
ch = logging.StreamHandler()
|
|
||||||
ch.setFormatter(fmt)
|
|
||||||
ch.setLevel(logging.INFO)
|
|
||||||
self.logger.addHandler(ch)
|
|
||||||
|
|
||||||
def debug(self, message):
|
def debug(self, message):
|
||||||
"""
|
"""
|
||||||
@ -770,6 +734,7 @@ class SetMac(object):
|
|||||||
|
|
||||||
self.WIN_REGISTRY_PATH = r"SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"
|
self.WIN_REGISTRY_PATH = r"SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"
|
||||||
|
|
||||||
|
self.logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def is_admin(self):
|
def is_admin(self):
|
||||||
"""
|
"""
|
||||||
@ -777,20 +742,20 @@ class SetMac(object):
|
|||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
|
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
|
||||||
print('Sorry! You should run this with administrative privileges if you want to change your MAC address.')
|
self.logger.error('Sorry! You should run this with administrative privileges if you want to change your MAC address.')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
else:
|
else:
|
||||||
print('admin')
|
self.logger.info('admin')
|
||||||
|
|
||||||
def get_macinfos(self):
|
def get_macinfos(self):
|
||||||
"""
|
"""
|
||||||
查看所有mac信息
|
查看所有mac信息
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
print('=' * 50)
|
self.logger.info('=' * 50)
|
||||||
mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT)
|
mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT)
|
||||||
mac_info = mac_info.decode('gbk')
|
mac_info = mac_info.decode('gbk')
|
||||||
print('Your MAC address:\n', mac_info)
|
self.logger.info('Your MAC address:\n', mac_info)
|
||||||
# 想要匹配的连接名
|
# 想要匹配的连接名
|
||||||
target_connection_name = "WLAN"
|
target_connection_name = "WLAN"
|
||||||
|
|
||||||
@ -809,16 +774,15 @@ class SetMac(object):
|
|||||||
"""
|
"""
|
||||||
mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT)
|
mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT)
|
||||||
mac_info = mac_info.decode('gbk')
|
mac_info = mac_info.decode('gbk')
|
||||||
print(mac_info)
|
|
||||||
search = re.search(r'(WLAN)\s+网络适配器: (.+)\s+物理地址:', mac_info)
|
search = re.search(r'(WLAN)\s+网络适配器: (.+)\s+物理地址:', mac_info)
|
||||||
print(search)
|
self.logger.info(search)
|
||||||
|
|
||||||
target_name, target_device = (search.group(1), search.group(2).strip()) if search else ('', '')
|
target_name, target_device = (search.group(1), search.group(2).strip()) if search else ('', '')
|
||||||
if not all([target_name, target_device]):
|
if not all([target_name, target_device]):
|
||||||
print('Cannot find the target device')
|
self.logger.error('Cannot find the target device')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
print(target_name, target_device)
|
self.logger.info(target_name, target_device)
|
||||||
return target_device
|
return target_device
|
||||||
|
|
||||||
def get_network_adapter_info(self):
|
def get_network_adapter_info(self):
|
||||||
@ -849,10 +813,10 @@ class SetMac(object):
|
|||||||
result[index] = name
|
result[index] = name
|
||||||
return result
|
return result
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print(f"命令执行失败,错误代码: {e.returncode}")
|
self.logger.error(f"命令执行失败,错误代码: {e.returncode}")
|
||||||
print(e.output)
|
self.logger.error(e.output)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"发生异常: {e}")
|
self.logger.error(f"发生异常: {e}")
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def set_mac_address(self, target_device, new_mac):
|
def set_mac_address(self, target_device, new_mac):
|
||||||
@ -864,7 +828,7 @@ class SetMac(object):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not self.MAC_ADDRESS_RE.match(new_mac):
|
if not self.MAC_ADDRESS_RE.match(new_mac):
|
||||||
print('Please input a correct MAC address')
|
self.logger.error('Please input a correct MAC address')
|
||||||
return
|
return
|
||||||
|
|
||||||
# Locate adapter's registry and update network address (mac)
|
# Locate adapter's registry and update network address (mac)
|
||||||
@ -905,7 +869,7 @@ class SetMac(object):
|
|||||||
raise err
|
raise err
|
||||||
|
|
||||||
if adapter_path is None:
|
if adapter_path is None:
|
||||||
print('Device not found.')
|
self.logger.error('Device not found.')
|
||||||
winreg.CloseKey(key)
|
winreg.CloseKey(key)
|
||||||
winreg.CloseKey(reg_hdl)
|
winreg.CloseKey(reg_hdl)
|
||||||
return
|
return
|
||||||
@ -918,8 +882,6 @@ class SetMac(object):
|
|||||||
winreg.CloseKey(key)
|
winreg.CloseKey(key)
|
||||||
winreg.CloseKey(reg_hdl)
|
winreg.CloseKey(reg_hdl)
|
||||||
|
|
||||||
# Adapter must be restarted in order for change to take affect
|
|
||||||
# print 'Now you should restart your netsh'
|
|
||||||
self.restart_adapter(target_index, target_device)
|
self.restart_adapter(target_index, target_device)
|
||||||
|
|
||||||
def restart_adapter(self, target_index, target_device):
|
def restart_adapter(self, target_index, target_device):
|
||||||
@ -974,7 +936,7 @@ class SetMac(object):
|
|||||||
if one_mac not in used_mac:
|
if one_mac not in used_mac:
|
||||||
r.rpush('Mac', one_mac)
|
r.rpush('Mac', one_mac)
|
||||||
break
|
break
|
||||||
print('1111111', one_mac)
|
self.logger.info('random mac:', one_mac)
|
||||||
return one_mac
|
return one_mac
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ class Trade:
|
|||||||
# 初始化 获取用户券商信息
|
# 初始化 获取用户券商信息
|
||||||
def __init__(self, user, op,order_id):
|
def __init__(self, user, op,order_id):
|
||||||
self.log = Logger(f'{root_path}/logs','trade_logic')
|
self.log = Logger(f'{root_path}/logs','trade_logic')
|
||||||
|
|
||||||
self.user = str(user)
|
self.user = str(user)
|
||||||
self.op = op
|
self.op = op
|
||||||
self.order_id = order_id
|
self.order_id = order_id
|
||||||
|
Loading…
x
Reference in New Issue
Block a user