2008-10-03 46 views

Respuesta

14

Esto obtendrá su dirección IP remota

import urllib 
ip = urllib.urlopen('http://automation.whatismyip.com/n09230945.asp').read() 

Si no quiere depender de otra persona, entonces sólo subir algo parecido a este script PHP:

<?php echo $_SERVER['REMOTE_ADDR']; ?> 

y cambiar la dirección URL en el pitón o si lo prefiere ASP:

<% 
Dim UserIPAddress 
UserIPAddress = Request.ServerVariables("REMOTE_ADDR") 
%> 

Nota: no sé ASP, pero pensé que podría ser útil ja he aquí, así que busqué en Google.

+1

[php manual] (http://www.php.net/manual/en/reserved.variables.server.php) dice que 'REMOTE_ADDR' es *" La dirección IP desde la que el usuario está viendo la página actual. " * ie, debe colocar la secuencia de comandos php en un servidor externo para obtener su IP pública. Además 'automation.whatismyip.com' no es accesible. 'http: // canihazip.com/s' funciona. – jfs

+0

Parece que la automatización.whatismyip.com ya no se está ejecutando, algo sobre lo que quieren es que haga una cuenta y use su página de inicio. –

8

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.

+0

Tampoco lo hace el enlace al que hago referencia, sino que simplemente devuelve la dirección IP sin formato. – UnkwnTech

+1

Ya no solo da texto sin formato. – powlo

+0

También parece pensar que vivo en Kansas. Ya no estamos en Kansas Toto. – powlo

1

Todas las respuestas que veo por encima de informaría 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).

+1

Esto no es una respuesta. Si no le gustan las respuestas, debe publicar una respuesta real y una respuesta positiva o negativa. Deberías mencionar los problemas con las respuestas en sus comentarios. La pregunta tampoco decía nada sobre los proxies, por lo que las otras respuestas son válidas. –

2
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'] 

trate de poner lo que sea 'findmyipsite' se pueden encontrar en una lista y la iteración a través de ellos para la comparación. Este parece funcionar bien.

2

https://api.ipify.org/?format=json es bastante sencillo

se puede analizar con sólo correr requests.get("https://api.ipify.org/?format=json").json()['ip']

+0

¡Se agregó +1 a algo usando https! –

0

Esto es simple como

>>> import urllib 
>>> urllib.urlopen('http://icanhazip.com/').read().strip('\n') 
'xx.xx.xx.xx' 
0
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)) 

Reference

Cuestiones relacionadas