2017-05-12 1 views
0

Im Verbindung mit einer Website mit Python-Anfrage und das funktioniert gut.Python - Weiter nicht in for Schleife arbeiten?

Mein Problem ist, dass ich eine Liste von Proxies habe, die ich benutze, und wenn eine der Proxy-IPs einen 404-Fehler zurückgibt, brauche ich dann meine for-Schleife, um an die Spitze der Schleife zu gehen und weiter bis ich eine bekomme Antwort von 200.

Wenn meine Schleife einen Fehler der Ausnahme/400-503 trifft, kehrt dosent an den Anfang des Codes zurück, geht aber nur außerhalb der Schleife und setzt den Code fort.

Eine kurze Notiz: Das Proxy-Array hat 6 IP-Adressen und die Schleife Dosent bekommen sie alle tru.

Was ist falsch, ich verwende unter Code, mit fortfahren?

Ich verstehe wirklich nicht, warum das passiert, vielleicht bin ich falsch, wie weiter funktioniert?

Antwort

1

Dieses

arbeiten
for proxy in randomProxy: 
    print 'Using Proxy: ', proxy 
    try: 
     r = requests.get(url, timeout=20, headers=headers, proxies=proxy) 
     if r.status_code == 200: 
      response = r 
      print 'Good Proxy: ', proxy 
      break 
     else: 
      print('Bad Proxy:', proxy) 
      print('Proxy is not working!') 
      continue 
    except: 
     print('Bad Proxy:', proxy) 
     print('Proxy is not working!') 
+0

Leider @Amey i auf Stackoverflow falsch Einzug hatte. Die for-Schleife funktioniert perfekt, aber wenn sie eine Exception oder einen http-Fehler trifft, möchte ich, dass sie mit der nächsten IP in der Liste fortfährt. Aber es wird einfach nicht, hast du irgendwelche guten Ideen? – Dannie