Подтвердить что ты не робот

Поиск публичного IP-адреса в Python?

Как я могу найти открытый IP-адрес для моей сетевой работы в Python?

4b9b3361

Ответ 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-адрес вашей системы

Ответ 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))

Ссылка