Détermination des adresses IP locales avec la bibliothèque standard de Python
En Python, l'accès aux adresses IP locales peut être réalisé uniquement via la bibliothèque standard. Cette méthode est indépendante de la plate-forme, permettant un comportement cohérent sur tous les systèmes d'exploitation.
Pour ce faire, le module socket est utilisé. Il fournit un moyen puissant d'interagir avec les protocoles réseau et d'effectuer diverses opérations sur les sockets. Notre tâche spécifique consiste à trouver l'adresse IP locale, qui peut être récupérée en suivant la séquence d'étapes suivante :
- Créer un objet socket. Cet objet représente un point de terminaison de communication et peut être configuré pour utiliser des protocoles et des types de socket spécifiques. Dans notre cas, nous utiliserons le constructeur de socket avec socket.AF_INET, qui indique un socket IPv4, et socket.SOCK_DGRAM, signifiant un socket orienté datagramme.
- Connectez-vous à une adresse distante. Pour récupérer l'adresse IP locale, nous établissons une connexion à un hôte distant connu. Ici, nous choisissons de nous connecter à l'adresse IP « 8.8.8.8 », qui appartient au serveur DNS public de Google. Le port 80 est utilisé, qui est le port standard pour le trafic HTTP.
- Invoquez getsockname(). Après avoir réussi à établir une connexion, nous pouvons obtenir l'adresse locale du socket en appelant la méthode getsockname() sur l'objet socket. Cette méthode renvoie un tuple contenant deux éléments : le premier contient l'adresse IP locale et le second représente le numéro de port auquel le socket est lié.
- Extraire l'adresse IP locale. A partir du tuple renvoyé par getsockname(), nous nous intéressons principalement au premier élément, qui contient l'adresse IP locale sous forme de chaîne.
En suivant ces étapes et en utilisant le module socket, les programmes Python peuvent déterminer efficacement les adresses IP locales disponibles sur leur interface réseau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!