IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

pycurl comment continuer si connexion perdu


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2021
    Messages : 8
    Par défaut pycurl comment continuer si connexion perdu
    Bonjour à tous je suis dans une impasse je vais vous présenter mon code très petit et très simple que j'ai réaliser pour enregistrer les headers d'un page web selon un ou des proxys HTTP définis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import pycurl
    import certifi
     
    c2 = pycurl.Curl()
    c2.setopt(pycurl.CAINFO, certifi.where())
    c2.setopt(pycurl.URL, 'https://www.google.fr')
    c2.setopt(pycurl.PROXY, '113.108.190.50:8080')
    c2.setopt(pycurl.PROXYPORT, 8080)
    c2.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_HTTP)
     
    c1 = pycurl.Curl()
    c1.setopt(pycurl.CAINFO, certifi.where())
    c1.setopt(pycurl.URL, 'https://www.yahoo.fr')
    c1.setopt(pycurl.PROXY, '35.158.57.23')
    c1.setopt(pycurl.PROXYPORT, 3128)
    c1.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_HTTP)
     
    with open('1.html', 'ab') as f:
        c2.setopt(c2.WRITEFUNCTION, f.write)
        c2.perform()
        c1.setopt(c1.WRITEFUNCTION, f.write)
        c1.perform()
    ce code fonctionne bien mais le problème c'est quand il détecte que le proxy n'est pas bon on lieu de passer celui-ci et vérifier le suivant , il coupe l'application

    comment faire pour zapper quand le proxy n'est pas bon ?

    Cordialement joel.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par darkroad Voir le message
    comment faire pour zapper quand le proxy n'est pas bon ?
    Le propre de la programmation réseau est d'identifier les exceptions et de les gérer proprement.
    Ici lorsque perform plante, çà devrait lever l'exception pycurl.error.

    Donc déjà, il faut commencer par apprendre comment s'utilisent try...except... côté Python puis aller potasser la documentation de pycurl pour voir comment s'articulent callbacks et gestion des erreurs.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2021
    Messages : 8
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Le propre de la programmation réseau est d'identifier les exceptions et de les gérer proprement.
    Ici lorsque perform plante, çà devrait lever l'exception pycurl.error.

    Donc déjà, il faut commencer par apprendre comment s'utilisent try...except... côté Python puis aller potasser la documentation de pycurl pour voir comment s'articulent callbacks et gestion des erreurs.

    - W
    ok je vais jeter un œil à tout ça merci beaucoup.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par darkroad Voir le message
    ce code fonctionne bien mais le problème c'est quand il détecte que le proxy n'est pas bon on lieu de passer celui-ci et vérifier le suivant , il coupe l'application
    C'est un mécanisme général inhérent à Python (et à quasiment tous les langages de haut niveau): une exception (alias actuel de ce qu'on appelait avant "erreur") remonte toute la pile des appels jusqu'à ce qu'elle soit interceptée. Et si ce n'est pas le cas, alors elle quitte l'appli en la faisant planter.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Comment établir une connexion internet ?
    Par sigmar_avenger dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 01/09/2005, 13h23
  2. Comment créer une connexion accès distant ?
    Par fredero dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 08/06/2005, 22h31
  3. Comment etablir une connexion distante sur une bd sql server
    Par sessime dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2004, 13h19
  4. comment tester la connexion depuis un fichier BATCH
    Par philippe_Aix dans le forum Oracle
    Réponses: 13
    Dernier message: 11/10/2004, 16h56
  5. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo