2015-09-18 3 views
-2
import urllib2 
    def Aviable(requrl) 
     testdata='***' 
     testreq=urllib2.Request(requrl, testdata) 
     testresponse = urllib2.urlopen(testreq) 
     test=testresponse.read() 
     if "methodResponse" in test: 
      print "dddd" 
      return True 
     else: 
      print "ssss" 
      return False 

    def Exploit(): 
     url=open('url.txt','r') 
     for requrl in url: #the aaa loop 
      if Aviable(requrl): 
       fuser=open('username.txt','r') 
       fpass=open('password.txt','r') 
       for username in fuser: #the bbb loop 
        if Flag==1: 
         break 
        for password in fpass: #the ccc loop 
         if Flag==2: 
          break 
         reqdata='********' 
         req=urllib2.Request(requrl,reqdata) 
         result=urllib2.urlopen(req).read() 
         num=num+1 
         if "aaa" in result : 
          print "Got it !" 
          print "username :"+username+"password :"+password 
          Flag=1 
          break 
         elif num==11: 
          Flag==2 
         elif "aaa" and "405" in result: 
          continue 


    if __name__=='__main__': 
     Exploit() 

Есть ли способ, чтобы сделать когда Flag==2 разорвать петлю ccc и Гота петля bbb? Он всегда идет в цикл aaa.Как вырваться из этих петель в Python

Я хочу изменить URL после обхода в username.txt и password.txt

+0

возможно дубликат [Как вырваться из нескольких циклов в Python] (http://stackoverflow.com/questions/189645/how-to-break-out-of- multiple-loops-in-python) – gpinkas

+2

'Flag == 2' не назначает переменную, вы должны сначала попробовать с' Flag = 2' –

ответ

0

Вы действительно не нужно, чтобы установить Flag на 2, чтобы выйти из цикла ccc. Флаги, как правило, необходимы только при попытке вырваться из внешних контуров, когда внутри внутреннего контура, его механизм для сигнала внешнего контура и время его выхода из этих внешних контуров.

Пример -

elif num==11: 
    break 
+0

привет, если wirte, как ваш, он перейдет в цикл aaa, но я хочу, чтобы он goto bbb loop –

+1

Нет, этого не должно быть, он должен переходить только в цикл 'bbb'. –

Смежные вопросы