obtener - ¿Encontrar una dirección IP pública en Python?
python get ip address (9)
¿Cómo puedo encontrar la IP pública para mi trabajo en red en Python?
whatismyip.org es mejor ... simplemente devuelve el ip como texto sin ningún tipo de basura.
import urllib
ip = urllib.urlopen(''http://whatismyip.org'').read()
Pero sí, es imposible hacerlo fácilmente sin depender de algo fuera de la red.
Una forma es, puede hacer una solicitud a la página en
http://www.biranchi.com/ip.php
devuelve la dirección IP de su sistema
Esto buscará su dirección IP remota
import urllib
ip = urllib.urlopen(''http://automation.whatismyip.com/n09230945.asp'').read()
Si no quieres confiar en otra persona, simplemente sube algo como este script PHP:
<?php echo $_SERVER[''REMOTE_ADDR'']; ?>
y cambie la URL en Python o si prefiere ASP:
<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
%>
Nota: No sé ASP, pero pensé que podría ser útil tenerlo aquí, así que busqué en Google.
Todas las respuestas que veo más arriba reportarían la dirección IP de cualquier proxy web en uso, no necesariamente la dirección IP pública de su sistema (cualquier cosa que no se ejecute a través de un proxy web puede tener una dirección IP completamente diferente).
Si no te molestan los improperios, prueba:
Únalo en las cosas usuales de Urllib como otros han demostrado.
También hay:
import urllib2
text = urllib2.urlopen(''http://www.whatismyip.org'').read()
urlRE=re.findall(''[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}'',text)
urlRE
[''146.148.123.123'']
Trata de poner en la lista el "findmyipsite" que encuentres e itera a través de ellos para comparar. Este parece funcionar bien.
Esto es tan simple como
>>> import urllib
>>> urllib.urlopen(''http://icanhazip.com/'').read().strip(''/n'')
''xx.xx.xx.xx''
https://api.ipify.org/?format=json es bastante directo
se puede analizar simplemente ejecutando requests.get("https://api.ipify.org/?format=json").json()[''ip'']
import requests
r = requests.get(r''http://jsonip.com'')
# r = requests.get(r''https://ifconfig.co/json'')
ip= r.json()[''ip'']
print(''Your IP is {}''.format(ip))