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 :

Probleme avec la récupération de REMOTE_ADDR


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Par défaut Probleme avec la récupération de REMOTE_ADDR
    Bonjour à tous,

    j'ai un petit souci, je met dans mon script.py :

    contenu = string.Template(template).substitute(

    add = cgi.escape(os.environ["REMOTE_ADDR"])
    )

    Puis dans scriptEnvoi.py , dans mon formulaire html dans action je met ${add}

    et j'ai cette erreur :

    File "./scriptInfo.py", line 47, in <module>
    main(add, name)
    File "./scriptInfo.py", line 22, in main
    add = cgi.escape(os.environ["REMOTE_ADDR"])
    File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
    raise KeyError(key)
    KeyError: 'REMOTE_ADDR'


  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    vous avez un bouton '#' en haut à droite de votre éditeur de messages pour insérer du code.

    Merci.

    @+.

  3. #3
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,
    À tout hasard, que vaut "REMOTE_ADDR" juste avant l'appel?

    Maintenant,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    contenu = string.Template(template).substitute(
     
    add = cgi.escape(os.environ["REMOTE_ADDR"])
    )
    Semble vraiment très très étrange! Les paramètres de la méthode "substitute" ne semblent pas coller du tout!!
    Et l'erreur ne parait pas complète, si?
    Clodion

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Par défaut
    REMOTE_ADDR ne vaut rien avant ( je ne comprends pas ta question ).

    -> J'essaie de récupérer l'addresse IP avec cette variable d'environnement.

    mais lorsque j'execute mon script ( j'execute mon script en ligne de commande avec les paramètres qu'il y a entre parenthèse), j'obtient ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Traceback (most recent call last):
      File "./scriptInfo.py", line 51, in <module>
        main(add, name) 
      File "./scriptInfo.py", line 26, in main
        server_IP = cgi.escape(os.environ["REMOTE_ADDR"])
      File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
        raise KeyError(key)
    KeyError: 'REMOTE_ADDR'
    dans le substitute j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    contenu = string.Template(template).substitute(
     
    name = name
    add = cgi.escape(os.environ["REMOTE_ADDR"])
    )

  5. #5
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par luffy_m Voir le message
    REMOTE_ADDR ne vaut rien avant ( je ne comprends pas ta question ).

    -> J'essaie de récupérer l'addresse IP avec cette variable d'environnement.

    mais lorsque j'execute mon script ( j'execute mon script en ligne de commande avec les paramètres qu'il y a entre parenthèse), j'obtient ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Traceback (most recent call last):
      File "./scriptInfo.py", line 51, in <module>
        main(server_IP, code_name, code_version, install_path) 
      File "./scriptInfo.py", line 26, in main
        server_IP = cgi.escape(os.environ["REMOTE_ADDR"])
      File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
        raise KeyError(key)
    KeyError: 'REMOTE_ADDR'
    Bonjour,
    Bien penser à mettre les balises "code" signalées par "#" en haut au milieu de la fenêtre d'édition (ainsi que le demandait tarball69 afin qu'il soit possible de comprendre exactement ce qui est fait)!!

    Sinon,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> import os
    >>> os.environ["n'importe quoi"]
    Traceback (most recent call last):
      File "/usr/lib/python3.4/idlelib/PyShell.py", line 766, in runcode
        exec(code, self.locals)
      File "<pyshell#1>", line 1, in <module>
      File "/usr/lib/python3.4/os.py", line 631, in __getitem__
        raise KeyError(key) from None
    KeyError: "n'importe quoi"
    >>>
    Tout cela pour dire que écrire os.environ[clef] provoque une erreur si "clef" n'existe pas.
    Et que c'est ce que semble indiquer le message d'erreur!!

    Clodion

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Par défaut
    j'utilise bien le '#' pour mon code , non ?

    Le souci c'est que REMOTE_ADDR est une variable d'environnement, son but est de récupérer l'adresse IP du client.
    Ainsi, si je fais dans un même script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ip = cgi.escape(os.environ["REMOTE_ADDR"])
    et que plus bas je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print "L'adresse ip est : ", ip
    j'arrive à récupérer l'adresse IP en question, mais dans mon cas je souhaite récupérer cette variable dans un autre fichier, qui plus est dans une URL

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/02/2010, 09h35
  2. Probleme avec la récupération d'une structure d'une dll
    Par onaipadesmickey dans le forum MFC
    Réponses: 1
    Dernier message: 26/02/2008, 19h32
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 23h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 08h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 09/06/2002, 00h06

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