je cherche comment obtenir l'ip public de ma machine qui est derrière une box en python3
La réponse ici : http://stackoverflow.com/questions/9481419/how-can-i-get-the-public-ip-using-python2-7
En Python3, ça donne ça :
from urllib.request import urlopen addr = urlopen('http://ip.42.pl/raw').read()
ou
import json from urllib.request import urlopen r = urlopen('http://httpbin.org/ip').read() addr = json.loads(r.decode())['origin']
Nicolas
pour l'afficher dans un fenêtre GTK+.
cordialement, MajorGhz.
Tanguy Ortolo
Nicolas, 2013-11-20 16:37+0100:
En Python3, ça donne ça :
from urllib.request import urlopen addr = urlopen('http://ip.42.pl/raw').read()
Dommage de dépendre d'un service externe. J'ignore comment mettre cela en œuvre en Python, mais lorsqu'on est derrière un routeur NAT, il est possible de lui demander son adresse IP publique avec le protocole UPnP.
-- . o . . . o Tanguy o o o
Nicolas, 2013-11-20 16:37+0100:
En Python3, ça donne ça :
from urllib.request import urlopen
addr = urlopen('http://ip.42.pl/raw').read()
Dommage de dépendre d'un service externe. J'ignore comment mettre cela
en œuvre en Python, mais lorsqu'on est derrière un routeur NAT, il est
possible de lui demander son adresse IP publique avec le protocole UPnP.
from urllib.request import urlopen addr = urlopen('http://ip.42.pl/raw').read()
Dommage de dépendre d'un service externe. J'ignore comment mettre cela en œuvre en Python, mais lorsqu'on est derrière un routeur NAT, il est possible de lui demander son adresse IP publique avec le protocole UPnP.
-- . o . . . o Tanguy o o o
Nicolas
Le 26/11/2013 16:53, Tanguy Ortolo a écrit :
Nicolas, 2013-11-20 16:37+0100:
En Python3, ça donne ça :
from urllib.request import urlopen addr = urlopen('http://ip.42.pl/raw').read()
Dommage de dépendre d'un service externe. J'ignore comment mettre cela en œuvre en Python, mais lorsqu'on est derrière un routeur NAT, il est possible de lui demander son adresse IP publique avec le protocole UPnP.
Cherche upnp sur pypy : https://pypi.python.org/pypi?%3Aaction=search&term=upnp&submit=search
Ce résultat à l'air de correspondre à ce que tu cherches : https://pypi.python.org/pypi/nattraverso/0.1.1
from urllib.request import urlopen
addr = urlopen('http://ip.42.pl/raw').read()
Dommage de dépendre d'un service externe. J'ignore comment mettre cela
en œuvre en Python, mais lorsqu'on est derrière un routeur NAT, il est
possible de lui demander son adresse IP publique avec le protocole UPnP.
Cherche upnp sur pypy :
https://pypi.python.org/pypi?%3Aaction=search&term=upnp&submit=search
Ce résultat à l'air de correspondre à ce que tu cherches :
https://pypi.python.org/pypi/nattraverso/0.1.1
from urllib.request import urlopen addr = urlopen('http://ip.42.pl/raw').read()
Dommage de dépendre d'un service externe. J'ignore comment mettre cela en œuvre en Python, mais lorsqu'on est derrière un routeur NAT, il est possible de lui demander son adresse IP publique avec le protocole UPnP.
Cherche upnp sur pypy : https://pypi.python.org/pypi?%3Aaction=search&term=upnp&submit=search
Ce résultat à l'air de correspondre à ce que tu cherches : https://pypi.python.org/pypi/nattraverso/0.1.1