diff --git a/.idea/auto_trade_20230130.iml b/.idea/auto_trade_20230130.iml index 3ff576c..d4428af 100644 --- a/.idea/auto_trade_20230130.iml +++ b/.idea/auto_trade_20230130.iml @@ -4,7 +4,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml index b294604..b6da70f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/__pycache__/config.cpython-36.pyc b/__pycache__/config.cpython-36.pyc index 277d9e5..942d5cd 100644 Binary files a/__pycache__/config.cpython-36.pyc and b/__pycache__/config.cpython-36.pyc differ diff --git a/__pycache__/tools.cpython-36.pyc b/__pycache__/tools.cpython-36.pyc index 20d2fff..1e5e27d 100644 Binary files a/__pycache__/tools.cpython-36.pyc and b/__pycache__/tools.cpython-36.pyc differ diff --git a/autobasic/dw_clienttrader.py b/autobasic/dw_clienttrader.py index 3bdc217..d3ce9a4 100644 --- a/autobasic/dw_clienttrader.py +++ b/autobasic/dw_clienttrader.py @@ -150,7 +150,7 @@ class DongWuClientTrader: #设置全局代理 proxy_ip = item['ip'] - proxy_port = str(item['port']) + proxy_port = item['port'] set_proxy(proxy_ip,proxy_port) # exit_ip = get_proxy_ip(proxy_ip,proxy_port) diff --git a/autobasic/hualong_clienttrader.py b/autobasic/hualong_clienttrader.py index a3decb4..22e7281 100644 --- a/autobasic/hualong_clienttrader.py +++ b/autobasic/hualong_clienttrader.py @@ -16,7 +16,9 @@ import pytesseract import warnings import datetime import os +import logging from tools import * +from config import ssid,password warnings.filterwarnings('ignore') from pathlib import Path @@ -35,11 +37,14 @@ class HLClientTrader: def __init__(self, account_name, exe_path=path): self.path = exe_path self.account_name = account_name - self.log = Logger(f'{root_path}/logs',self.account_name) - # 加载WiFi配置文件 - self.wifi_configs = self._load_wifi_config() + # 确保logs目录存在 + logs_dir = root_path / 'logs' + logs_dir.mkdir(exist_ok=True) + # 初始化日志系统 + self._setup_logging() + # 用户券商信息 sql = f"select * from ainvest_usercount where username='{account_name}'" 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.communication_password = str(df_count['communication_password'].tolist()[0]) - def _load_wifi_config(self): - """加载WiFi配置文件""" - config_path = os.path.join(root_path, 'wifi_config.txt') - try: - with open(config_path, 'r', encoding='utf-8') as f: - lines = f.readlines() - wifi_configs = [] - for line in lines: - line = line.strip() - if line and not line.startswith('#'): - parts = line.split(',') - if len(parts) == 2: - wifi_configs.append({'ssid': parts[0].strip(), 'password': parts[1].strip()}) - self.log.info(f"WiFi配置加载成功,共{len(wifi_configs)}个配置") - return wifi_configs - except FileNotFoundError: - self.log.warn(f"WiFi配置文件 {config_path} 不存在,使用默认配置") - return [{'ssid': 'ZTE_A5DA76', 'password': '1234567890'}] - except Exception as e: - self.log.error(f"WiFi配置文件读取错误: {e}") - return [{'ssid': 'ZTE_A5DA76', 'password': '1234567890'}] + def _setup_logging(self): + """设置日志系统""" + # 获取当前模块的logger + self.logger = logging.getLogger(__name__) + + # 为当前账户添加文件处理器,记录到logs目录 + logs_file = os.path.join(root_path, 'logs', f'{self.account_name}.log') + + # 检查是否已经有针对这个账户的处理器,避免重复添加 + account_handler_exists = False + for handler in self.logger.handlers: + if hasattr(handler, 'baseFilename') and handler.baseFilename == os.path.abspath(logs_file): + account_handler_exists = True + break + + if not account_handler_exists: + formatter = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S') + file_handler = logging.FileHandler(logs_file, encoding='utf-8') + file_handler.setFormatter(formatter) + file_handler.setLevel(logging.DEBUG) + 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): ''' @@ -104,62 +121,44 @@ class HLClientTrader: path=self.path, timeout=1 ) 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: pass # 启动软件进程,输入账号密码 - self.log.info('Start login') + self.logger.info('Start login') start_time = time.time() - reset_proxy_to_default() # 初始化proxy信息 # 重置mac set_mac = SetMac() set_mac.run() # 尝试连接WiFi - connected = False - 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("无法建立网络连接,请检查配置") - + connect_wifi(ssid,password) get_ip_times = 0 writer = ExcelDataWriter() # 初始化ip_records 表格 used_ip = writer.get_unavailable_ips(broker, account_name) - while get_ip_times < 3: + while get_ip_times < 10: try: item = get_ip_data() # 获取动态IP if item['ip'] in used_ip: get_ip_times += 1 + self.logger.warning(f'代理IP重复,重新获取IP') else: - self.log.info(f'代理IP已经获取{item}') + self.logger.info(f'代理IP已经获取{item}') break except Exception as e: - self.log.error(f'获取IP失败,请检查网络连接{e}') + self.logger.error(f'获取IP失败,请检查网络连接{e}') time.sleep(5) - # raise ConnectionError(f"获取IP失败,请检查网络连接。错误详情: {e}") # 设置全局代理 proxy_ip = item['ip'] 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) 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'), 'broker': broker, @@ -171,17 +170,16 @@ class HLClientTrader: 'ip_cross_check_result': '一致', 'ip_switch_time': time_with_change_proxy, # 'ip_expire_time':item['expire'] - 'ip_survival_time': '3min' + 'ip_survival_time': '5min' } # 写入数据表 writer = ExcelDataWriter() # 初始化ip_records 表格 writer.write_data(insert_data) - + time.sleep(2) #启动软件进程,输入账号密码 - self.log.info('Start login') self._app = pywinauto.Application().start(self.path) - time.sleep(1) + while True: try: self._app.window(title_re='华龙证券网上交易.*').wait("ready") @@ -220,10 +218,10 @@ class HLClientTrader: result_idcode = self.result_text() time.sleep(1) print('(((((((((',result_idcode) - self.log.softInfo(result_idcode) + self.logger.info(result_idcode) if '验证码' in result_idcode: # 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() time.sleep(0.5) 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() # print(one_text) # 摘取合同信息 - self.log.info(one_text.replace('/n', ' ')) + self.logger.info(one_text.replace('/n', ' ')) time.sleep(0.2) #确认申购委托 # 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() - self.log.info(result) + self.logger.info(result) pywinauto.keyboard.send_keys("{ENTER}") time.sleep(0.2) pywinauto.keyboard.send_keys("{ESC}") @@ -437,7 +435,8 @@ class HLClientTrader: self._copy_data() one_df =self._data_to_df() if len(one_df) == 0: - pass + self.logger.info('--------------------------------------无未成交委托--------------------------------------') + return pd.DataFrame() else: one_df['证券代码'] = one_df['证券代码'].apply(lambda x: tranTicker(x.strip('=').strip('"'))) return one_df @@ -520,6 +519,11 @@ class HLClientTrader: skiprows=3, error_bad_lines=False).applymap( lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x) 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", '证券名称': "Ticker_name", @@ -553,8 +557,13 @@ class HLClientTrader: ''' self.left_wnd.select(['查询[F4]','当日委托']) 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): ''' @@ -578,6 +587,12 @@ class HLClientTrader: error_bad_lines=False).applymap( lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x) 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['Account_Name'] = self.account_name 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() 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() # 保留两位小数截断 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() else: # 摘取合同信息 - self.log.info(one_text.replace('/n',' ')) + self.logger.info(one_text.replace('/n',' ')) time.sleep(0.2) # 确认买入 @@ -660,12 +675,12 @@ class HLClientTrader: # # 摘取合同信息2 # one_text2 = self._app['提示'].window(control_id=0x0, class_name='#32770').window_text() # 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') # # image_path = f'{root_path}/imgs/temp1231.png' # text = ocr_image(image_path) - # self.log.info(text.replace('/n', ' ')) + # self.logger.info(text.replace('/n', ' ')) # 确认合同 pywinauto.keyboard.send_keys("{ENTER}") @@ -694,9 +709,9 @@ class HLClientTrader: try: self._app.top_window().set_focus() 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: - self.log.warn('Verification code error') + self.logger.warning('Verification code error') self._app.top_window().window(control_id=0x2, class_name="Button").click() time.sleep(0.5) else: diff --git a/broker_xiadan/hualong/T0002/wt_cache/TcApi_Cache/HOST-115.85.254.36(443)-2.TCS b/broker_xiadan/hualong/T0002/wt_cache/TcApi_Cache/HOST-115.85.254.36(443)-2.TCS index 49b9ae9..d763d40 100644 Binary files a/broker_xiadan/hualong/T0002/wt_cache/TcApi_Cache/HOST-115.85.254.36(443)-2.TCS and b/broker_xiadan/hualong/T0002/wt_cache/TcApi_Cache/HOST-115.85.254.36(443)-2.TCS differ diff --git a/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/CBASLog/logec308451c1d095c528cfa3c009ea7235.cbas b/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/CBASLog/logec308451c1d095c528cfa3c009ea7235.cbas new file mode 100644 index 0000000..c8147e7 Binary files /dev/null and b/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/CBASLog/logec308451c1d095c528cfa3c009ea7235.cbas differ diff --git a/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/UserBehavior.ini b/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/UserBehavior.ini index ada00af..b5cb000 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/UserBehavior.ini +++ b/broker_xiadan/东吴证券金融终端独立下单/UserBehavior/UserBehavior.ini @@ -7,4 +7,4 @@ Gzip=0 WndName=Ths_UserBehavior_test acct_bind=085006032667|073000003859|080000027181|073000004902|073000004916|073000003698|073000004092|073000003868|073000003921|073000004065|073000003769|073000004318|073000003702|085006040636|073000004495|073000004116| device_bind=1 -Xiadan_UB_test=125-5-19 +Xiadan_UB_test=125-5-23 diff --git a/broker_xiadan/东吴证券金融终端独立下单/Xiadan_DailyAct.ini b/broker_xiadan/东吴证券金融终端独立下单/Xiadan_DailyAct.ini index c83ff8c..ed6783e 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/Xiadan_DailyAct.ini +++ b/broker_xiadan/东吴证券金融终端独立下单/Xiadan_DailyAct.ini @@ -35,7 +35,7 @@ 52243433=2024-4-10 52243828=2024-2-7 52244086=2024-3-12 -52243961=2025-6-6 +52243961=2025-6-20 52260726=2023-9-15 54354761=2023-10-10 52260860=2023-5-15 diff --git a/broker_xiadan/东吴证券金融终端独立下单/disconnect.log b/broker_xiadan/东吴证券金融终端独立下单/disconnect.log index 937ea84..aec70cd 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/disconnect.log +++ b/broker_xiadan/东吴证券金融终端独立下单/disconnect.log @@ -53,3 +53,32 @@ [2025-06-19 17:57:14:240][0x000409B2] Զδ [2025-06-19 18:04:54:474][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] Զδ diff --git a/broker_xiadan/东吴证券金融终端独立下单/user.dat b/broker_xiadan/东吴证券金融终端独立下单/user.dat index c4c0b82..a3aff35 100644 Binary files a/broker_xiadan/东吴证券金融终端独立下单/user.dat and b/broker_xiadan/东吴证券金融终端独立下单/user.dat differ diff --git a/broker_xiadan/东吴证券金融终端独立下单/user.ini b/broker_xiadan/东吴证券金融终端独立下单/user.ini index c442ff1..c776fd0 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/user.ini +++ b/broker_xiadan/东吴证券金融终端独立下单/user.ini @@ -89,6 +89,7 @@ WT_FLOATCACHE_24CFF3CF218A73AF5B8E03E92AF583D6=294tem0S2k== WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k== WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k== WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k== +WT_FLOATCACHE_A7746BCB2D0919A6926DA76998D1F065=294tem0S2k== WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k== WT_FONTSIZE=0 WT_HEIGHT=764 @@ -97,13 +98,13 @@ WT_INVALIDPWD_LIMIT=0 WT_LEFTWIDTH=229 WT_LINKFAST=0 WT_MASKACCOUNT=0 -WT_MINSIZEX=-1 -WT_MINSIZEY=-1 +WT_MINSIZEX=1 +WT_MINSIZEY=999 WT_MODE_GPYK=0 WT_NEWLI_MNLEFT=0 WT_NEWLI_MNTOP=0 -WT_POSITION_LEFT=26 -WT_POSITION_TOP=26 +WT_POSITION_LEFT=78 +WT_POSITION_TOP=78 WT_SAVEACCOUNT=0 WT_SOUND_ALARM=1 WT_TONGXUN=0 diff --git a/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini b/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini index 98f4e0f..a034686 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini +++ b/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini @@ -1,3 +1,4 @@ +DATE=20141016 [CHANGE_TIP] GUI_CHEDAN_CONFIRM=27;no;ȡ˳ǰȷʾܡ|ȷõ÷Ըеķ @@ -202,7 +203,7 @@ JJ_UNABLEKKZQ=1 NEED_APPROPRIATENESS_MANAGE=161 TJD_STAGGING_CD_TIP=\nñʧЧɾ\nȷ?\n 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_450_RQFZRZFZ_SUP_CHECK=1 WT_452_RQFZRZFZ_SUP_CHECK=1 @@ -241,6 +242,7 @@ WT_DEFAULT_RZRQ_CHECK=1 WT_DISPUNITMASK=1000:780* WT_DOCKHEIGHT=265 WT_DOCKRIGHT=0 +WT_DOCKWIDTH= WT_DOWNDEPT=1 WT_DPI=1 WT_DZDMODE=0 @@ -267,9 +269,9 @@ WT_KSWTDEFAULTID=1574 WT_LASTATYPE=48 WT_LASTCRYPTID=1110 WT_LASTLOGINTYPE=0 -WT_LASTNOTIDATE=20250619 +WT_LASTNOTIDATE=20250623 WT_LASTNOTIID=578273CEA86FD408CF2FC56271B2C09B -WT_LASTREQ_XGSGPKG_DATE=20250619 +WT_LASTREQ_XGSGPKG_DATE=20250623 WT_LEFTWIDTH=229 WT_LIMITINVALIDPWD=0 WT_LINKFAST=0 @@ -279,8 +281,8 @@ WT_MAICHU_PLCL=1 WT_MAIRU_PLCL=0 WT_MASKACCOUNT=0 WT_MINIWTNEW=0 -WT_MINSIZEX=-1 -WT_MINSIZEY=-1 +WT_MINSIZEX=1 +WT_MINSIZEY=999 WT_MODE_GPYK=0 WT_NEWLI_MNLEFT=0 WT_NEWLI_MNTOP=0 @@ -291,10 +293,11 @@ WT_NO_ZZDETAIL=1 WT_ONLINEMODE=1 WT_OTC_YXMR_FXXYS=1 WT_POSITION=4 -WT_POSITION_LEFT=26 -WT_POSITION_TOP=26 +WT_POSITION_LEFT=78 +WT_POSITION_TOP=78 WT_PROPERTY_WIDTH=204 WT_PTDLRZRQCHECK=0 +WT_QQ_NEWQUICKWTMODE= WT_QUERYREFRESH=0 WT_REFRESHTIME=0 WT_RZRQSAVEACCOUNT=0 @@ -309,6 +312,7 @@ WT_SHOWBINDINFO=2 WT_SHOWPINCERTQUESTION=״ʹSSLܷʽ¼¼豸ûҪ֤롣?ť鿴˵ WT_SHOWPINCERTQUESTION_URL=0|http://jrzd.dwstock.com:8066/policy/index.html?code=guomi WT_SHOWPWDPROMPT=1 +WT_SIMPLEMODE= WT_SOUND_ALARM=1 WT_SPEEDTEST_TIMEOUT=1000 WT_STAGGING_TIMELIMIT=09:30|14:40 @@ -322,7 +326,7 @@ WT_TJD_STAGGING_TIP4= WT_TONGXUN=0 WT_UPGRADEADDR= WT_UPGRADEPORT=0 -WT_UPGRADEURL=http://xiucai-client.oss-cn-shanghai.aliyuncs.com/xiadan.exe +WT_UPGRADEURL= WT_USESPRITE=0 WT_WIDTH=1494 WT_XDATA_ACCOUNT_ENCODE=1 @@ -333,7 +337,7 @@ WT_YYBIDS=0100|ʨɽ·Ӫҵ WT_ZCSX_ENABLE=1 WT_ZCSX_INTERVAL=1000 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_ZXHQCHANGELSH_UPDATEYHSL=1 WT_ZXHQDQHY_LISTCHECK=1 @@ -430,6 +434,7 @@ WT_FLOATCACHE_24CFF3CF218A73AF5B8E03E92AF583D6=294tem0S2k== WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k== WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k== WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k== +WT_FLOATCACHE_A7746BCB2D0919A6926DA76998D1F065=294tem0S2k== WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k== WT_FONTSIZE=0 WT_HEIGHT=764 @@ -438,13 +443,13 @@ WT_INVALIDPWD_LIMIT=0 WT_LEFTWIDTH=229 WT_LINKFAST=0 WT_MASKACCOUNT=0 -WT_MINSIZEX=-1 -WT_MINSIZEY=-1 +WT_MINSIZEX=1 +WT_MINSIZEY=999 WT_MODE_GPYK=0 WT_NEWLI_MNLEFT=0 WT_NEWLI_MNTOP=0 -WT_POSITION_LEFT=26 -WT_POSITION_TOP=26 +WT_POSITION_LEFT=78 +WT_POSITION_TOP=78 WT_SAVEACCOUNT=0 WT_SOUND_ALARM=1 WT_TONGXUN=0 @@ -458,7 +463,8 @@ USERBEHAVIOR=1 WNDNAME=Ths_UserBehavior_test [WT_SERVER] -TCP/IP_ACCOUNTTYPE0= +LASTUPDATE=20141016 +TCP/IP_ACCOUNTTYPE6= TCP/IP_ADDRESS0=wtssl.dwstock.com TCP/IP_ADDRESS1=58.240.173.150 TCP/IP_ADDRESS2=114.94.49.59 @@ -487,7 +493,7 @@ TCP/IP_CRYPTPROTOCOL3=SSL TCP/IP_CRYPTPROTOCOL4=SSL TCP/IP_CRYPTPROTOCOL5=SSL TCP/IP_CRYPTPROTOCOL6=SSL -TCP/IP_CUR_SERVER=0 +TCP/IP_CUR_SERVER=6 TCP/IP_DEPTID0=0100 TCP/IP_DEPTID1=0100 TCP/IP_DEPTID2=0100 @@ -495,7 +501,7 @@ TCP/IP_DEPTID3=0100 TCP/IP_DEPTID4=0100 TCP/IP_DEPTID5=0100 TCP/IP_DEPTID6=0100 -TCP/IP_DEPTLIST0= +TCP/IP_DEPTLIST6= TCP/IP_DEPTNAME0=ʨɽ·Ӫҵ TCP/IP_DEPTNAME1=ʨɽ·Ӫҵ TCP/IP_DEPTNAME10=ʨɽ·Ӫҵ @@ -559,7 +565,7 @@ TCP/IP_POWER9=0 TCP/IP_PROXYPORT=0 TCP/IP_PROXYTYPE=0 TCP/IP_SERVER_NUM=7 -TCP/IP_SITEID0= +TCP/IP_SITEID6= TCP/IP_SSLCERT_PORT0=2235 TCP/IP_SSLCERT_PORT1=2235 TCP/IP_SSLCERT_PORT10=2235 @@ -597,7 +603,7 @@ TCP/IP_USEPROXY=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 @@ -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=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=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 diff --git a/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini_bak b/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini_bak index aa3b3bb..5cc49f4 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini_bak +++ b/broker_xiadan/东吴证券金融终端独立下单/xiadan.ini_bak @@ -1,3 +1,4 @@ +DATE=20141016 [CHANGE_TIP] GUI_CHEDAN_CONFIRM=27;no;ȡ˳ǰȷʾܡ|ȷõ÷Ըеķ @@ -267,9 +268,9 @@ WT_KSWTDEFAULTID=1574 WT_LASTATYPE=48 WT_LASTCRYPTID=1110 WT_LASTLOGINTYPE=0 -WT_LASTNOTIDATE=20250619 +WT_LASTNOTIDATE=20250623 WT_LASTNOTIID=578273CEA86FD408CF2FC56271B2C09B -WT_LASTREQ_XGSGPKG_DATE=20250619 +WT_LASTREQ_XGSGPKG_DATE=20250623 WT_LEFTWIDTH=229 WT_LIMITINVALIDPWD=0 WT_LINKFAST=0 @@ -279,8 +280,8 @@ WT_MAICHU_PLCL=1 WT_MAIRU_PLCL=0 WT_MASKACCOUNT=0 WT_MINIWTNEW=0 -WT_MINSIZEX=-1 -WT_MINSIZEY=-1 +WT_MINSIZEX=1 +WT_MINSIZEY=999 WT_MODE_GPYK=0 WT_NEWLI_MNLEFT=0 WT_NEWLI_MNTOP=0 @@ -291,8 +292,8 @@ WT_NO_ZZDETAIL=1 WT_ONLINEMODE=1 WT_OTC_YXMR_FXXYS=1 WT_POSITION=4 -WT_POSITION_LEFT=26 -WT_POSITION_TOP=26 +WT_POSITION_LEFT=78 +WT_POSITION_TOP=78 WT_PROPERTY_WIDTH=204 WT_PTDLRZRQCHECK=0 WT_QUERYREFRESH=0 @@ -429,6 +430,7 @@ WT_FLOATCACHE_24CFF3CF218A73AF5B8E03E92AF583D6=294tem0S2k== WT_FLOATCACHE_455F8DD9A874134E00B9194AFCCABAB8=294tem0S2k== WT_FLOATCACHE_55771B174AC04E1CF16DA528C8F81948=294tem0S2k== WT_FLOATCACHE_A316D7EB89C9C6D7D0DF5EAAEA184C87=294tem0S2k== +WT_FLOATCACHE_A7746BCB2D0919A6926DA76998D1F065=294tem0S2k== WT_FLOATCACHE_C0C62A1620BA88BB7B2462A5CEC22A04=294tem0S2k== WT_FONTSIZE=0 WT_HEIGHT=764 @@ -437,13 +439,13 @@ WT_INVALIDPWD_LIMIT=0 WT_LEFTWIDTH=229 WT_LINKFAST=0 WT_MASKACCOUNT=0 -WT_MINSIZEX=-1 -WT_MINSIZEY=-1 +WT_MINSIZEX=1 +WT_MINSIZEY=999 WT_MODE_GPYK=0 WT_NEWLI_MNLEFT=0 WT_NEWLI_MNTOP=0 -WT_POSITION_LEFT=26 -WT_POSITION_TOP=26 +WT_POSITION_LEFT=78 +WT_POSITION_TOP=78 WT_SAVEACCOUNT=0 WT_SOUND_ALARM=1 WT_TONGXUN=0 @@ -457,6 +459,7 @@ USERBEHAVIOR=1 WNDNAME=Ths_UserBehavior_test [WT_SERVER] +LASTUPDATE=20141016 TCP/IP_ADDRESS0=wtssl.dwstock.com TCP/IP_ADDRESS1=58.240.173.150 TCP/IP_ADDRESS2=114.94.49.59 @@ -485,7 +488,7 @@ TCP/IP_CRYPTPROTOCOL3=SSL TCP/IP_CRYPTPROTOCOL4=SSL TCP/IP_CRYPTPROTOCOL5=SSL TCP/IP_CRYPTPROTOCOL6=SSL -TCP/IP_CUR_SERVER=0 +TCP/IP_CUR_SERVER=6 TCP/IP_DEPTID0=0100 TCP/IP_DEPTID1=0100 TCP/IP_DEPTID2=0100 @@ -593,7 +596,7 @@ TCP/IP_USEPROXY=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 @@ -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=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=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 diff --git a/broker_xiadan/东吴证券金融终端独立下单/xml.log b/broker_xiadan/东吴证券金融终端独立下单/xml.log index f83644c..d1ca6b4 100644 --- a/broker_xiadan/东吴证券金融终端独立下单/xml.log +++ b/broker_xiadan/东吴证券金融终端独立下单/xml.log @@ -730,3 +730,4639 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/imgs/temp123.png b/imgs/temp123.png index 8a62180..c1ba285 100644 Binary files a/imgs/temp123.png and b/imgs/temp123.png differ diff --git a/imgs/temp1231.png b/imgs/temp1231.png index 5d86462..0eb0edc 100644 Binary files a/imgs/temp1231.png and b/imgs/temp1231.png differ diff --git a/init_proxy.py b/init_proxy.py deleted file mode 100644 index 3b2aec9..0000000 --- a/init_proxy.py +++ /dev/null @@ -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, "") - 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() \ No newline at end of file diff --git a/logs/13401019175.log b/logs/13401019175.log new file mode 100644 index 0000000..10b9e0c --- /dev/null +++ b/logs/13401019175.log @@ -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] 全局代理设置成功 diff --git a/logs/13593501968.log b/logs/13593501968.log new file mode 100644 index 0000000..c8e4341 --- /dev/null +++ b/logs/13593501968.log @@ -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(': 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(': 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(': 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(': 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] 全局代理设置成功 diff --git a/logs/18242094506.log b/logs/18242094506.log index 78364d2..9a5274b 100644 --- a/logs/18242094506.log +++ b/logs/18242094506.log @@ -22,3 +22,58 @@ [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: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 diff --git a/mysql_table/ip_tracking.xlsx b/mysql_table/ip_tracking.xlsx index 0c1f6a5..85b7474 100644 Binary files a/mysql_table/ip_tracking.xlsx and b/mysql_table/ip_tracking.xlsx differ diff --git a/mysql_table/~$ip_tracking.xlsx b/mysql_table/~$ip_tracking.xlsx new file mode 100644 index 0000000..175c166 Binary files /dev/null and b/mysql_table/~$ip_tracking.xlsx differ diff --git a/tools.py b/tools.py index 09011f0..aa66203 100644 --- a/tools.py +++ b/tools.py @@ -2,23 +2,17 @@ import warnings from hashlib import md5 import pywinauto import pyautogui -import requests from sqlalchemy import create_engine -import pandas as pd import logging -import time -import sys import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication -import os import uuid import redis import ctypes import platform import re -import subprocess import winreg import random import sys @@ -26,20 +20,17 @@ import datetime import pandas as pd import os -from openpyxl import load_workbook - -import subprocess -import time -import requests import requests import subprocess import time - +import logging from pathlib import Path root_path = Path(__file__).parent +# 初始化日志 +logger = logging.getLogger(__name__) def is_admin() -> bool: @@ -192,7 +183,7 @@ def connect_wifi(ssid: str = 'MaxEntropy', password: str = 'cskj12345678') -> bo try: os.remove(profile_path) 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: pass - #启动软件进程,输入账号密码 - print('Start login') 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: # Alt键 - 激活菜单栏 pyautogui.keyDown('alt') pyautogui.keyUp('alt') - # Tab键 - 第一次 pyautogui.press('tab') - - # Enter键 - 第一次(打开Profile菜单) - pyautogui.press('enter') + pyautogui.press('enter') # Enter键 - 第一次(打开Profile菜单) - # # Tab键 - 第二次 pyautogui.press('enter') - - # Enter键 - 第三次(打开Proxy Servers菜单) - pyautogui.press('enter') - + pyautogui.press('enter') # Enter键 - 第三次(打开Proxy Servers菜单) except Exception as e: - print(f"操作出错: {e}") - print("请手动检查窗口状态后重试") + logger.error(f"操作出错: {e}") + logger.error("请手动检查窗口状态后重试") # 输入ip和端口 try: time.sleep(0.1) - print('Start input ip and port') pyautogui.typewrite(proxy_ip) pyautogui.press('tab') time.sleep(0.1) - pyautogui.typewrite(proxy_port) + pyautogui.typewrite(str(proxy_port)) pyautogui.press('enter') pyautogui.press('tab') pyautogui.press('tab') @@ -262,7 +236,7 @@ def set_proxy(proxy_ip: str, proxy_port: int): pyautogui.press('tab') pyautogui.press('enter') 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') - # 文件处理器 - 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): """ @@ -770,6 +734,7 @@ class SetMac(object): self.WIN_REGISTRY_PATH = r"SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}" + self.logger = logging.getLogger(__name__) def is_admin(self): """ @@ -777,20 +742,20 @@ class SetMac(object): :return: """ 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() else: - print('admin') + self.logger.info('admin') def get_macinfos(self): """ 查看所有mac信息 :return: """ - print('=' * 50) + self.logger.info('=' * 50) mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT) 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" @@ -809,16 +774,15 @@ class SetMac(object): """ mac_info = subprocess.check_output('GETMAC /v /FO list', stderr=subprocess.STDOUT) mac_info = mac_info.decode('gbk') - print(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 ('', '') if not all([target_name, target_device]): - print('Cannot find the target device') + self.logger.error('Cannot find the target device') sys.exit() - print(target_name, target_device) + self.logger.info(target_name, target_device) return target_device def get_network_adapter_info(self): @@ -849,10 +813,10 @@ class SetMac(object): result[index] = name return result except subprocess.CalledProcessError as e: - print(f"命令执行失败,错误代码: {e.returncode}") - print(e.output) + self.logger.error(f"命令执行失败,错误代码: {e.returncode}") + self.logger.error(e.output) except Exception as e: - print(f"发生异常: {e}") + self.logger.error(f"发生异常: {e}") return [] 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): - print('Please input a correct MAC address') + self.logger.error('Please input a correct MAC address') return # Locate adapter's registry and update network address (mac) @@ -905,7 +869,7 @@ class SetMac(object): raise err if adapter_path is None: - print('Device not found.') + self.logger.error('Device not found.') winreg.CloseKey(key) winreg.CloseKey(reg_hdl) return @@ -918,8 +882,6 @@ class SetMac(object): winreg.CloseKey(key) 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) def restart_adapter(self, target_index, target_device): @@ -974,7 +936,7 @@ class SetMac(object): if one_mac not in used_mac: r.rpush('Mac', one_mac) break - print('1111111', one_mac) + self.logger.info('random mac:', one_mac) return one_mac diff --git a/trade_logic.py b/trade_logic.py index bb7e4df..56fa728 100644 --- a/trade_logic.py +++ b/trade_logic.py @@ -26,6 +26,7 @@ class Trade: # 初始化 获取用户券商信息 def __init__(self, user, op,order_id): self.log = Logger(f'{root_path}/logs','trade_logic') + self.user = str(user) self.op = op self.order_id = order_id