FAQ Python
FAQ PythonConsultez toutes les FAQ
Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 14 juin 2021
import
urllib
page=
urllib.urlopen
(
'http://python.org'
)
strpage=
page.read
(
)
Pour télécharger un fichier d'un site web, vous pouvez utiliser la fonction urllib.urlretrieve( url[, filename[, reporthook[, data]]]) où url représente le chemin du fichier à télécharger, filename le nom du fichier sauvegardé en local,
>>>
import
urllib
>>>
urllib.urlretrieve
(
'http://python.developpez.com/outils/PythonZope/images/cpython.gif'
, 'c:/cpython.gif'
)
(
'c:/cpython.gif'
, <
httplib.HTTPMessage instance at 0x00B8DBC0
>
)
il y a deux manières de procéder pour connaître l'adresse IP de son ordinateur sur le réseau Internet
suivant que son ordinateur est derrière un routeur ou non. Si vous êtes derrière un routeur, l'adresse IP
visible depuis Internet est celui du routeur.
Dans le cas où vous êtes derrière un routeur, vous pouvez interroger une page du type www.MonIP.com qui affiche votre adresse IP
externe et ensuite analyser cette page pour récupérer l'adresse IP en question ou bien également d'autres sites qui proposent
directement un fichier xml d'où l'on peut encore plus facilement extraire l'information. Cette solution fonctionne aussi si vous
êtes directement relié au réseau Internet (sans passer par un routeur).
import
xml.dom.minidom
import
urllib
## On va ici simplement analyser un fichier xml disponible sur internet qui donne l'adresse IP
ipxml =
xml.dom.minidom.parse
(
urllib.urlopen
(
'http://www.showmyip.com/xml/'
))
myIP =
ipxml.getElementsByTagName
(
'ip'
)[0
].childNodes[0
].nodeValue
print
myIP
Pour connaître l'adresse IP interne de votre ordinateur (si vous êtes derrière un routeur) ou l'IP externe (si vous n'êtes pas derrière un routeur), vous pouvez récupérer très facilement récupérer cette information. Par la fonction socket.gethostname(), vous récupérer le nom de votre ordinateur puis la fonction socket.getaddrinfo( host, port[, family[, socktype[, proto[, flags]]]]) retourne une liste d'informations utiles pour la manipulation de socket dont on peut extraire facilement l'adresse IP que l'on recherche.
import
socket
info =
socket.getaddrinfo
(
socket.gethostname
(
), None
)
print
info