Proxy python incompréhension

Résolu/Fermé
ywar - 30 mai 2010 à 16:58
ywar Messages postés 8 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 18 juin 2010 - 31 mai 2010 à 11:31
Bonjour, voilà j'ai créé uen classe PROXY elle fonctionne bien quand je l'utilise de cette façon là :
Proxy=PROXY()
Proxy.proxy('mon_proxy',3128)
Proxy.test(mon_proxy)

mais lorsque que j'utilise la méthode Proxy.run_proxy_liste()
cela ne fonctionne plus :(
Voilà le code ma classe :
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import re,urllib,urllib2

class PROXY:
    
    def liste(self,nom): #Liste les proxy
        try:
            liste=open(nom,"r")
            listes=[]
            for ligne in liste:
                ligne=ligne.strip('\n')
                listes.append(ligne)
            return listes
        except:
            return 0

    def proxy(self,host,port):  #Connection au serveur Proxy
        proxy_info = { 'host' : host,
               'port' : port
             }
        try:
            proxy_support = urllib2.ProxyHandler({"http" : "http://%(host)s:%(port)d" % proxy_info})
            opener = urllib2.build_opener(proxy_support)
            urllib2.install_opener(opener)
            return host,port
        except:
            return 0,0

    def test(self,ip,aff=0): #Test le proxy
        try:
            htmlpage = urllib2.urlopen('http://wara.evoconcept.be/')
            htmlpage=htmlpage.read()
            if aff:
                print"IP de connection ("+htmlpage+")"
            if(htmlpage==ip):
                return 1
            else:
                return 0
        except:
            return 0
        
    def run_proxy_liste(self): # Lance le et test le proxy
        liste=self.liste("liste_proxy.txt")
        i=0
        t=2
        while not liste==0:
            if(i<len(liste)):
                try:
                    valeur=liste[i].split(":")
                except:
                    print "Impossible d'extraire les valeurs proxy de la liste !!","Réinitialisation de la liste !!"
                    i=0
                self.proxy(valeur[0],valeur[1])
                test=self.test(valeur[0],0)
                if test==1:
                    print "Conection réaliser sur: "+valeur[0]+":"+valeur[1]
                    liste=0
                else:
                    print "Connection échouer sur: "+valeur[0]+":"+str(valeur[1])
                    i+=1
            else:
                print "Aucun connection n'a pu être réaliser !!",str(t)+" tentative restante(s)"
                t-=1
                if(t>=0):
                    i=0
                else:
                    liste=0

Proxy=PROXY()
Proxy.run_proxy_liste()

print "Suite du programme !!"



3 réponses

ywar Messages postés 8 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 18 juin 2010
Modifié par ywar le 30/05/2010 à 18:45
c'est probablement un problème d'héritage, je sais pas trop je suis perdu^^
0
ywar Messages postés 8 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 18 juin 2010
30 mai 2010 à 20:06
Un peu d'aide s'il vous plai je suis vraiment bloquer :'(
0
ywar Messages postés 8 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 18 juin 2010
31 mai 2010 à 11:31
oufff enfin j'ai trouver la réponse hier soir ^^ j'en ai donc profiter pour continuer mon programme :p
c'est une vielle erreur de jeunesse en plus qui ce trouver là :
self.proxy(valeur[0],valeur[1])
et il fallait mettre
self.proxy(str(valeur[0]),int(valeur[1]))
pour que enfin la fonction autre chose qu'un 0
0