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 :

Problème lorsque j'essaie d'utiliser urllib depuis le boulot (proxy)


Sujet :

Python

  1. #1
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut Problème lorsque j'essaie d'utiliser urllib depuis le boulot (proxy)
    Bonjour à tous,

    Depuis un moment je rencontre des problèmes lorsque je teste des scripts venant de tutoriaux lorsque je souhaite exploiter des API fournit par différents sites internet pour récupérer des infos au format json.

    Le problème est toujours le même :

    error: [Errno 10054] Une connexion existante a dû être fermée par l’hôte distant
    Voici un exemple de script que j'ai essayé et qui me renvoie le même message d'erreur qu'au dessus :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    try:
        # For Python 3.0 and later
        from urllib.request import urlopen
    except ImportError:
        # Fall back to Python 2's urllib2
        from urllib2 import urlopen
     
    import json
     
     
    def get_jsonparsed_data(url):
        """
        Receive the content of ``url``, parse it as JSON and return the object.
     
        Parameters
        ----------
        url : str
     
        Returns
        -------
        dict
        """
        response = urlopen(url)
        data = response.read().decode("utf-8")
        return json.loads(data)
     
     
    url = ("http://maps.googleapis.com/maps/api/geocode/json?"
           "address=googleplex&sensor=false")
    print(get_jsonparsed_data(url))
    Erreur :

    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
    23
    24
    25
    26
    Traceback (most recent call last):
      File "C:\Users\dev\Desktop\Development\Python\urllib_test\Google_script.py", line 30, in <module>
        print(get_jsonparsed_data(url))
      File "C:\Users\dev\Desktop\Development\Python\urllib_test\Google_script.py", line 23, in get_jsonparsed_data
        response = urlopen(url)
      File "C:\Program Files (x86)\python27\lib\urllib2.py", line 126, in urlopen
        return _opener.open(url, data, timeout)
      File "C:\Program Files (x86)\python27\lib\urllib2.py", line 400, in open
        response = self._open(req, data)
      File "C:\Program Files (x86)\python27\lib\urllib2.py", line 418, in _open
        '_open', req)
      File "C:\Program Files (x86)\python27\lib\urllib2.py", line 378, in _call_chain
        result = func(*args)
      File "C:\Program Files (x86)\python27\lib\urllib2.py", line 1207, in http_open
        return self.do_open(httplib.HTTPConnection, req)
      File "C:\Program Files (x86)\python27\lib\urllib2.py", line 1180, in do_open
        r = h.getresponse(buffering=True)
      File "C:\Program Files (x86)\python27\lib\httplib.py", line 1030, in getresponse
        response.begin()
      File "C:\Program Files (x86)\python27\lib\httplib.py", line 407, in begin
        version, status, reason = self._read_status()
      File "C:\Program Files (x86)\python27\lib\httplib.py", line 365, in _read_status
        line = self.fp.readline()
      File "C:\Program Files (x86)\python27\lib\socket.py", line 447, in readline
        data = self._sock.recv(self._rbufsize)
    error: [Errno 10054] Une connexion existante a dû être fermée par l’hôte distant
    Pour me connecter à internet mon navigateur internet passe par un proxy (script en .pac).

    Est ce que depuis python je dois également passer par ce proxy ? Est ce que mon problème peut provenir du proxy ?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    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 681
    Par défaut
    Salut,

    Citation Envoyé par nekcorp Voir le message
    Est ce que depuis python je dois également passer par ce proxy ? Est ce que mon problème peut provenir du proxy ?
    C'est une question à poser aux administrateurs réseau de votre boîte.
    Ceci dit, s'ils ont bien fait leur boulot, impossible d'accéder à Internet sans passer par le proxy.

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

  3. #3
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    C'est une question à poser aux administrateurs réseau de votre boîte.
    Disons que je n'ai pas réellement de raisons à leur demander car je fait des tests pour des projets perso à la pose déj.
    De plus lorsqu'on a un problème c'est ouverture d'un incident, ticket, temps de réponses souvent long etc .....

    Ceci dit, s'ils ont bien fait leur boulot, impossible d'accéder à Internet sans passer par le proxy.
    Existe t-il un essai qui me permettrait de confirmer que le problème vient bien de la non utilisation du proxy ?

    Merci

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Essaye avec une autre url.

    Au passage, je l'utilisais dans une appli jusqu'il y a peu, mais, un beau jour, cette connexion me fut systématiquement refusée.

    Voici ce que l'on obtient:
    error_message "You have exceeded your daily request quota for this API. We recommend registering for a key at the Google Developers Console: https://console.developers.google.com/apis/credentials?project=_"
    results []
    status "OVER_QUERY_LIMIT"

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    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 681
    Par défaut
    Citation Envoyé par nekcorp Voir le message
    Existe t-il un essai qui me permettrait de confirmer que le problème vient bien de la non utilisation du proxy ?
    Entrer l'URL dans le navigateur internet (qui utilise le proxy).

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

  6. #6
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Essaye avec une autre url.

    Au passage, je l'utilisais dans une appli jusqu'il y a peu, mais, un beau jour, cette connexion me fut systématiquement refusée.

    Voici ce que l'on obtient:
    error_message "You have exceeded your daily request quota for this API. We recommend registering for a key at the Google Developers Console: https://console.developers.google.com/apis/credentials?project=_"
    results []
    status "OVER_QUERY_LIMIT"
    Merci VinsS,

    Ton message concerne une limitation lié au fait que Google demande une clef pour utiliser ses services. Moi c'est un problème python.

    J'ai pris de l'API Google pour illustration mais j'ai ce problème sur toutes les API que j'ai testé et qui utilisent urllib.

    J'ai changé l'adresse et le service aussi, toujours le même message d'erreur.


    Entrer l'URL dans le navigateur internet (qui utilise le proxy).
    J'avais déjà essayé de le faire avant de poster mon message, je récupère un fichier .json comme prévu.

    Je vais essayé de faire passer mes requêtes en passant par le proxy, mais c'est pas gagné d'après mes recherches car on passe par un script (fichier .pac c'est du javascript dedans).

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    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 681
    Par défaut
    Salut,

    Citation Envoyé par nekcorp Voir le message
    Je vais essayé de faire passer mes requêtes en passant par le proxy, mais c'est pas gagné d'après mes recherches car on passe par un script (fichier .pac c'est du javascript dedans).
    C'est du code qui se lit...
    Sinon il existe une bibliothèque pypac supposée faire le boulot (mais que je n'ai jamais utilisée).

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

  8. #8
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    Sinon il existe une bibliothèque pypac supposée faire le boulot (mais que je n'ai jamais utilisée).
    - W
    Oui effectivement je suis tombé sur cette bibliothèque, je regarde comment ça fonctionne, je ferais un retour si ça été concluant

    Merci.

Discussions similaires

  1. Problème utilisation Service depuis l'Extérieur
    Par Invité dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 09/03/2010, 08h59
  2. Réponses: 4
    Dernier message: 02/08/2009, 15h42
  3. [MySQL] Problème de connexion car mysql utilise un port non standard
    Par SsinedD dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2006, 14h27
  4. Probléme lorsqu'une fenétre passe par dessus l'autre...
    Par hostile dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 03/01/2006, 19h20
  5. [DirectShow] problème lorsque je détruit mon graphe
    Par juldjin2 dans le forum DirectX
    Réponses: 1
    Dernier message: 04/02/2004, 21h30

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