10 votes

Comment obtenir l'IP externe d'une socket en Python ?

Quand j'appelle socket.getsockname() sur un objet socket, il renvoie un tuple de l'IP interne de ma machine et du port. Cependant, j'aimerais récupérer mon IP externe. Quelle est la manière la plus économique et la plus efficace de le faire ?

1voto

Vasilii Pascal Points 11
print (urllib.urlopen('http://automation.whatismyip.com/n09230945.asp').read())

1voto

jamjam46 Points 45

La méthode la plus simple pour obtenir une adresse IP publique est d'utiliser la procédure suivante

import requests

IP = requests.get('https://api.ipify.org/').text
print(f'Your IP is: {IP}')

0voto

frankjania Points 1

En utilisant l'adresse suggérée dans la source de http://whatismyip.com

import urllib
def get_my_ip_address():
    whatismyip = 'http://www.whatismyip.com/automation/n09230945.asp'
    return urllib.urlopen(whatismyip).readlines()[0]

0voto

Ahmed Points 314

Vous devez établir une connexion avec un serveur externe et obtenir votre adresse IP publique à partir de la réponse.


comme ceci :

   import requests

   myPublic_IP = requests.get("http://wtfismyip.com/text").text.strip()

   print("\n[+] My Public IP: "+ myPublic_IP+"\n")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X