Recuperer une IP internet , en Python

Résolu
Bonjour,
Je souhaite savoir comment on fait pour récupérer une adresse IP internet en Python .

Merci
Configuration: Windows XP
Firefox 3.0

8 réponses

  1. Modérateur
    Tu télécharges cette page par exemple:
    http://www.monip.org/
    import urllib
    page = urllib.urlopen("http://www.monip.org/").read()
    

    Puis tu utilises quelques fonctions pour récupérer ton adresse ip. Si tu fais un print sur page, tu verras le code source de la page. Ici tu pourrais récupérer l'ip come ceci:
    ip = page.split("IP : ")[1].split("<br>")[0]

    Tu peux aussi utiliser une expression régulière, bref libre à toi...
    1. J'ai déja testé celle la mais je veux l'IP internet pas l'IP réseau .
      1. Modérateur
        Ah ben si tu as un routeur devant toi ce n'est pas ton adresse, c'est celle du routeur.
        Ya pas vraiment de moyen de l'avoir hormis en la demandant à un site distant.
    2. Merci cela m'aide beaucoup mais comment recupérer celle de la machine qui l'execute ?

      Merci .
      1. Modérateur
        Ah si tu lis le déscriptif de gethostbyname tu trouveras justement ça:
        If you want to know the current machine's IP address, you may want to use gethostbyname(gethostname())

        ;-)
        1. facile:
          ip = os.system('ipconfig')

          et si tu es dans idle rajoute une pause en mettant:
          import time
          time.sleep(4)