def host_ftp(host): #测试URL FTP是否开放 try: if host == '': #传入值等于空 返回 print u"传入地址不能为空" time.sleep(1) #确保先运行Seeker中的方法 #sql_sel() #SQL查询 return 0 ftpB = FTP() #初始化FTP类 ftpB.connect(host,21) #连接 服务器名 端口号 ftpB.quit() #退出ftp服务器 sql_up(host,"send") print u"连接成功添加url:",host sql="insert into ftp (url,time) VALUES ('%s','%s')"%(host,time.strftime('%Y.%m.%d-%H.%M.%S')) mysql.mysql_insert(sql) #添加到数据库 mysql.mysql_S() #保存数据 open_mysql() #SQL查询 #SQL修改数据 # if sql_up(host,"send"): # print host,u"服务器FTP21端口开放-修改成功", # print u"(∩_∩)" #添加成功 # open_mysql() #SQL查询 # return 1 # else: # print host,u"服务器FTP21端口开放-修改失败", # print u"(╯▽╰)" #添加失败 # open_mysql() #SQL查询 # return 0 except: print host,u"服务器FTP21端口可能没有开放", sql_up(host,"no21") #SQL修改数据 open_mysql() #SQL查询 return 0
def check_file_api(request): data = request.POST.getlist('data') info = '#'.join(data[-1].split('\r\n')) client = saltAPI() result = client.getMd5(info) mysql_insert(request.user.username, 'check_file', data[0], data[1], result) return render(request, 'message.html', {'content': result})
def purge_api(request): data = request.POST.getlist('data') info = data[-1].split('\r\n') result = main(info) mysql_insert(request.user.username, 'purge_cache', data[0], data[1], result) return render(request, 'message.html', {'content': result})
def check_file_api(request): data = request.POST.getlist('data') info = '#'.join(data[-1].split('\r\n')) client = saltAPI() result = client.getMd5(info) mysql_insert(request.user.username,'check_file',data[0],data[1],result) return render(request,'message.html',{'content': result})
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
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 #跳出 #重新每三次 为什么一个账户要连接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 ".", try: self.ftp.login(account[0], account[1]) #连接FTP #没有异常发生,这是一个正确的帐号 print "" print u'找到FTP成功:IP', host, u"用户名:", account[ 0], u"密码:", account[1] sql = "insert into ftp(IP,user,password,time) values('%s','%s','%s','%s')" % ( host, account[0], account[1], time.strftime('%Y.%m.%d-%H.%M.%S')) #print sql mysql.mysql_insert(sql) #添加到数据库 mysql.mysql_S() #保存数据 account = None #None=NULL except Exception, e: emsg = str(e) #调试信息 if 'connection' in emsg.lower( ) or 'tries' in emsg.lower( ): #判断 连接 失败错误信息 不明白何意 retry = retry + 1 break #跳出 else: #reset retry account = None #None=NULL retry = 0
def mysql_add(data1): #添加到数据库 try: # print "++++++++++++++++++++",data #添加数据 sql = "select * from url where url='%s'" % (data1) data = mysql.mysql_select(sql) if data.find('null123456'): #print u"已经有了这个URL",data1 return 0 else: #没有可以添加 #print data1 if ~(data1.find("/") and data1.find("http") and data1.find("?") and data1.find("%")): #print u"非法URL" return 0 else: LS.liet_add(data1) #添加到数组 if LS.liet_CX("AAAAA"): #查询数据是否存在 print u"\n数组里以有这个域名不添加", data1 return 0 else: #print u"无" insert = "insert into url(url,time) VALUES('%s','%s')" % ( data1, time.strftime('%Y.%m.%d-%H.%M.%S')) #print insert if mysql.mysql_insert(insert): #添加数据 mysql.mysql_S() #提交 print u"\n添加成功", data1 else: print u"\n添加失败", data1 except: return 0
def mysql_add(data1): #添加到数据库 try: #查看这个数据是否值得添加 global INI_data3 #添加到数据库个 dURL = get_sdomain(data1) #拆解域名1234.163.com=》163.com #在模糊查询看看有多少个 》=10个 这个就不进行添加 #print dURL sql = "select * from url where url like '%%%s'" % (dURL) #print sql if mysql_select2(sql): #模糊查询 #print dURL,u"域名下已经有10个二级域名了不进行添加", print "1", return 0 else: #print "没有可以添加" sql = "select * from url where url='%s'" % (data1) data = mysql.mysql_select(sql) if data.find('null123456'): #print u"已经有了这个URL",data1, print "N", return 0 else: #没有可以添加 #print data1 if ~(data1.find("/") and data1.find("http") and data1.find("?") and data1.find("%")): print data1, u"非法URL", return 0 else: insert = "insert into url(url,time) VALUES('%s','%s')" % ( data1, time.strftime('%Y.%m.%d-%H.%M.%S')) #print insert if mysql.mysql_insert(insert): #添加数据 #mysql.mysql_S() #提交 print "\n", data1, u"添加成功", INI_data3 = INI_data3 + 1 #host_ftp(data) #tContext = threading.Thread(target=host_ftp, args=(data1,)) #线程查询FTP是否开放 #tContext.start() #线程查询FTP是否开放 return 1 else: print "\n", data1, u"添加失败", return 0 return 0 except: return 0
def mysql_add(data1): #添加到数据库 try: #查看这个数据是否值得添加 dURL = get_sdomain(data1) #拆解域名1234.163.com=》163.com #在模糊查询看看有多少个 》=10个 这个就不进行添加 #print dURL sql = "select * from url where url like '%%%s'" % (dURL) #print sql if mysql_select2(sql): #模糊查询 print dURL, u"域名下已经有10个二级域名了不进行添加", return 0 else: #print "没有可以添加" # print "++++++++++++++++++++",data #添加数据 sql = "select * from url where url='%s'" % (data1) data = mysql.mysql_select(sql) if data.find('null123456'): print u"已经有了这个URL", data1, return 0 else: #没有可以添加 #print data1 if ~(data1.find("/") and data1.find("http") and data1.find("?") and data1.find("%")): print data1, u"非法URL", return 0 else: insert = "insert into url(url,time) VALUES('%s','%s')" % ( data1, time.strftime('%Y.%m.%d-%H.%M.%S')) #print insert if mysql.mysql_insert(insert): #添加数据 #mysql.mysql_S() #提交 print data1, u"添加成功", return 1 else: print data1, u"添加失败", return 0 return 0 except: return 0
def mysql_add(data1): #添加到数据库 try: # print "++++++++++++++++++++",data #添加数据 sql = "select * from url where url='%s'" % (data1) data = mysql.mysql_select(sql) if data.find('null123456'): print u"已经有了这个URL", data1 return 0 else: #没有可以添加 print data1 if ~(data1.find("/") and data1.find("http") and data1.find("?") and data1.find("%")): print u"非法URL" return 0 else: insert = "insert into url(url) VALUES('%s')" % (data1) #print insert if mysql.mysql_insert(insert): #添加数据 #mysql.mysql_S() #提交 print u"添加成功", data1 else: print u"添加失败", data1 except: return 0
xxx.close() except: return 0 def ip2num(ip): ip = [int(x) for x in ip.split('.')] return ip[0]<<24 | ip[1]<<16 | ip[2]<<8 | ip[3] if __name__ == '__main__': #sqlite.sqlite_open() #连接数据库 mysql.mysql_open() #连接数据库 global passlist #声明全局变量 passlist = [] #用户名:anonymous 密码为空 open_txt() #打开TXT文本写入数组 E = 0 #得到list的第一个元素 while E < len(passlist): start, IPend = [x for x in passlist[E].split('-')] sql = "INSERT INTO port21(ip1,ip2) values('%s','%s')"%(start,IPend) if mysql.mysql_insert(sql): #添加 print "添加成功" else: print "添加失败" print passlist[E] E = E + 1 mysql.mysql_S() #保存数据 mysql.mysql_close() #关闭数据库 #sqlite.sqlite_S() #保存数据 #sqlite.sqlite_close() #关闭数据库
break try: str_receive = data.decode(encoding=encoding_name) print("客户端发送的内容:\r\n", str_receive) except: print("[error]", encoding_name, "解码失败\r\n") client.send("[error]faile to decode\r\n".encode( encoding=encoding_name)) #发送消息给已链接客户端 else: dict_json = myjson_fun(str_receive[1:len(str_receive) - 1]) #成功解析json后 if dict_json: try: print("插入数据库的信息为:", dict_json['opreation'], dict_json['Note']) if mysql.mysql_insert(dict_json): client.send("[OK]\r\n".encode( encoding=encoding_name)) #发送消息给已链接客户端 else: client.send("[error]insert failed\r\n".encode( encoding=encoding_name)) #发送消息给已链接客户端 except: print("[error]数据类型不完整") else: print("[error]json解析失败") client.close() #关闭客户端链接 serversocket.close()
def purge_api(request): data = request.POST.getlist('data') info = data[-1].split('\r\n') result = main(info) mysql_insert(request.user.username,'purge_cache',data[0],data[1],result) return render(request,'message.html',{'content': result})