Pergunta

Como posso encontrar o público enfrenta IP para o meu trabalho líquida em Python?

Foi útil?

Solução

Este vai buscar o seu endereço de IP remoto

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

Se você não quer confiar em alguém, em seguida, basta fazer upload de algo como este script PHP:

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

e alterar a URL no Python ou se preferir ASP:

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

Nota:. Eu não sei ASP, mas achei que poderia ser útil ter aqui, então eu pesquisei

Outras dicas

whatismyip.org é melhor ... ele só joga de volta o ip como texto simples sem porcaria estranho.

import urllib
ip = urllib.urlopen('http://whatismyip.org').read()

Mas sim, é impossível fazê-lo facilmente, sem depender de algo fora da própria rede.

https://api.ipify.org/?format=json é bastante simples frente

pode ser analisado pelo requests.get("https://api.ipify.org/?format=json").json()['ip'] apenas correr

Se você não se importa palavrões tente:

http://wtfismyip.com/json

Bind-lo no material usual urllib como outros têm mostrado.

Há também:

http://www.networksecuritytoolkit.org/nst/tools/ip.php

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

Tente colocar o que quer 'findmyipsite' você pode encontrar em uma lista e iteração através deles para comparação. Este parece funcionar bem.

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

Referência

Esta é simples como

>>> import urllib
>>> urllib.urlopen('http://icanhazip.com/').read().strip('\n')
'xx.xx.xx.xx'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top