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

Réseau/Web Python Discussion :

exception sur urllib.urlopen()


Sujet :

Réseau/Web Python

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut exception sur urllib.urlopen()
    Bonjour,

    J'ai des problèmes de maintien de connexion internet qui perturbent un de mes programmes Python.

    Ma connexion internet n'est pas bonne, les erreurs qui se produisent sur les instructions urllib.urlopen(url) sont diverses et je n'ai encore pas réussi à comprendre leurs raisons.
    Un coup de fil extérieur fait parfois sauter la connexion, parfois non;
    parfois c'est quand on décroche, d'autres fois quand on raccroche le téléphone.
    Certaines déconnexions sont dues à des perturbations sur une prise électrique proche de celle du modem.
    D'autres fois encore, j'ai le message d'erreur suivant:
    Traceback (most recent call last):
    File "E:\Python\trf.py", line 1399, in <module>
    prefh = sock.read()
    File "C:\Python25\lib\socket.py", line 291, in read
    data = self._sock.recv(recv_size)
    error: (10054, 'Connection reset by peer')
    En résumé, je n'y comprends rien et dans un premier temps je voudrais ne pas chercher à comprendre.
    Je voudrais donc remplacer les lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sock = urllib.urlopen(url)
    par une prise en charge d'erreur du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    oksock = 'attente'
    while oksock!='yes'
        try:
            sock = urllib.urlopen(url)
            ...instructions....
            oksock = 'yes'
        except Typed'Erreur:
            oksock ='no'
    Mon problème est que je ne sais pas quel Typed'Erreur je dois mettre après le except pour que ça couvre l'ensemble des cas possibles.
    Je ne sais pas non plus s'il est possible / recommandé / déconseillé de mettre simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try:
        sock = urllib.urlopen(url)
        ...instructions....
        oksock = 'yes'
    except:
        oksock ='no'
    - Est-il possible de connaître les types d'expressions associées à une fonction donnée ?
    - Quels sont vos avis sur le Typed'Erreur (ou absence) que je peux mettre ?


    Merci

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Salut,

    regarde le manuel manquant pour urllib2.

    @+

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut Merci pacificator
    Avec urllib ou urllib2, avec IOError ou sans type d'erreur après except,
    j'ai beau faire des essais, en débranchant brutalement le fil téléphone qui arrive sur le modem ou en éteignant le modem....
    les résultats sont très erratiques.
    La plupart du temps, le programme bloque, sans aucun message d'erreur affiché. D'autres fois l'erreur est traitée et mon programme affiche 'plus de connexion' comme je l'ai prevu, puis revient à une bonne saisie de la page prévue quand je rétablis la connexion.
    Pour rentrer dans cette complication, il va me fallaoir du temps.
    Il y a des erreurs que je ne peux pas reproduire à volonté, ça complique les choses à comprendre.

Discussions similaires

  1. Réponses: 9
    Dernier message: 01/12/2005, 10h54
  2. Réponses: 5
    Dernier message: 07/07/2005, 10h20
  3. [vb.net] exception sur monForm.Show
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/07/2005, 12h27
  4. Exception sur Java Web Start
    Par Le Bressan dans le forum JWS
    Réponses: 5
    Dernier message: 01/02/2005, 10h52
  5. [Tomcat] Exception sur JSP
    Par Malaussene dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 10/09/2004, 08h43

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