FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 2 septembre 2018 

 
OuvrirSommaireRéseau / Web
 
Sélectionnez

import webbrowser
webbrowser.open('http://python.org')
Créé le 15 juin 2005  par Guigui_
 
Sélectionnez

import urllib
page=urllib.urlopen('http://python.org')
strpage=page.read()
Créé le 16 juin 2005  par Guigui_

Pour télécharger un fichier d'un site web, vous pouvez utiliser la fonction urllib.urlretrieve( url[, filename[, reporthook[, data]]])url représente le chemin du fichier à télécharger, filename le nom du fichier sauvegardé en local,

 
Sélectionnez

>>> import urllib
>>> urllib.urlretrieve('http://python.developpez.com/outils/PythonZope/images/cpython.gif', 'c:/cpython.gif')
('c:/cpython.gif', <httplib.HTTPMessage instance at 0x00B8DBC0>)
Créé le 9 mai 2006  par Guigui_

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).

Connaître son adresse IP externe en étant derrière un routeur
Sélectionnez

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.

 
Sélectionnez

import socket
info = socket.getaddrinfo(socket.gethostname(), None)
print info  
Créé le 16 septembre 2006  par Guigui_
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005-2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.