Как я могу найти открытый IP-адрес для моей сетевой работы в Python?
Поиск публичного IP-адреса в Python?
Ответ 1
Это приведет к удалению вашего IP-адреса.
import urllib
ip = urllib.urlopen('http://automation.whatismyip.com/n09230945.asp').read()
Если вы не хотите полагаться на кого-то другого, просто загрузите что-то вроде этого PHP script:
<?php echo $_SERVER['REMOTE_ADDR']; ?>
и измените URL-адрес в Python или если вы предпочитаете ASP:
<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
%>
Примечание. Я не знаю ASP, но я подумал, что может быть полезно иметь здесь, поэтому я googled.
Ответ 2
whatismyip.org лучше... он просто отбрасывает ip как открытый текст без постороннего дерьма.
import urllib
ip = urllib.urlopen('http://whatismyip.org').read()
Но да, это невозможно сделать легко, не полагаясь на что-то вне самой сети.
Ответ 3
Один из способов: вы можете сделать запрос на страницу
http://www.biranchi.com/ip.php
он возвращает IP-адрес вашей системы
Ответ 4
Если вы не возражаете против соблазнов, попробуйте:
Привяжите его к обычным материалам urllib, как показали другие.
Там также:
Ответ 5
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']
Попробуйте положить любой "findmyipsite", который вы можете найти в списке, и итерации через них для сравнения. Кажется, что это хорошо работает.
Ответ 6
https://api.ipify.org/?format=json довольно прямолинейно
можно проанализировать, просто запустив requests.get("https://api.ipify.org/?format=json").json()['ip']
Ответ 7
Все ответы, которые я вижу выше, будут сообщать о IP-адресе любого используемого веб-прокси, не обязательно публичного IP-адреса вашей системы (все, что не выполняется через веб-прокси, может иметь совершенно другой IP-адрес).
Ответ 8
Это просто, как
>>> import urllib
>>> urllib.urlopen('http://icanhazip.com/').read().strip('\n')
'xx.xx.xx.xx'
Ответ 9
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))