Отримання мого загальнодоступного IP через API [закрито]


76

Чи існує загальнодоступний API від якоїсь великої компанії, щоб отримати мій загальнодоступний ip з програми?

Я знайшов http://ip-address.domaintools.com/myip.xml, що саме те, що я хочу, але, на жаль, він блокує Python, urllibа також багато інших бібліотек http, якщо ви не підробляєте user-agent (все, що робить, що взагалі не можна назвати API).

Проблема в тому, що мені потрібні ці дані для якоїсь потенційно відкритої бібліотеки, тому ми повинні грати за правилами. Я також знаю, що можу просто робити щось подібне print $_SERVER[REMOTE_ADDR], але я не хочу передавати трафік всім, хто користується моєю бібліотекою.

Отже, чи є щось на зразок URL-адреси вище, але справжній API, який дозволяє роботам?


пов'язані:
Програмне

1
Duck Duck Go має загальнодоступний метод визначення вашої IP-адреси. Я детально його більше тут, так як це питання закрите , і я не можу додати відповідь: stackoverflow.com/a/33743758/901641
ArtOfWarfare

2
ipify.org - це альтернативна послуга.
Horcrux7,

Я пропоную спробувати Ipregistry: api.ipregistry.co/?key=tryout (застереження: я запускаю службу).
Лоран,

Відповіді:


95

Хоча це не від великих компаній, все це повинно працювати:

curl icanhazip.com
curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: \([0-9\.]*\).*/\1/g'
host -t a dartsclink.com | sed 's/.*has address //'
curl curlmyip.com
curl ifconfig.me # this has a lot of different alternatives too, such as ifconfig.me/host

Джерело


1
Це круто! Велике спасибі, особливо для dyndns один, це зробить!
Слава V

4
icanhazip.com повертає найчистіший результат imho
mnagel


@mnagel Це, здається, єдиний, який підтримує HTTPS. Як іронічно ...
Navin

4
Ви можете перевірити ipify.org , який має чіткий API і підтримує HTTPS.
Yoan Tournade

40

Ви можете отримати свій IP і цілу купу іншої інформації на моєму сервісі http://ipinfo.io :

$ curl ipinfo.io
{
  "ip": "67.188.232.131",
  "hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS7922 Comcast Cable Communications, Inc.",
  "phone": 650
}

Якщо вам потрібна лише IP-адреса:

$ curl ipinfo.io/ip
67.188.232.131

Це також працює для інших полів, наприклад:

$ curl ipinfo.io/org
AS7922 Comcast Cable Communications, Inc.

Більш детальну інформацію можна отримати за адресою http://ipinfo.io/developers


2
Не підтримує HTTPS
Navin

Усі платні тарифи мають підтримку HTTPS. Дивіться ipinfo.io/pricing
Бен Даулінг

Немає підтримки IPv6 ...
rustyx 04.03.20

Він підтримує IPv6 через v6.ipinfo.io
Бен Даулінг,

Схоже, зараз https підтримується, платний план не потрібен.
Раман


3

Я використовую цей, який легко запам’ятати і він коротший за інші:

$ curl ifconfig.me

ЗАСТОСУВАННЯ: Пам'ятайте, що якщо ви використовуєте curl у сценаріях оболонки, вам потрібно використовувати -sопцію, інакше вона друкує таблицю ходу завантаження.

$ echo `curl -s ifconfig.me`


3
Я переходжу з ifconfig.me на ipinfo.io через повільність
rodvlopes

Немає підтримки IPv6 ...
rustyx 04.03.20

0

Так, ви можете спробувати на whoisthisip.com

http://whoisthisip.com/HRAS/ Зареєструйтесь у whoisthisip.com, щоб отримати інформацію про IP-адресу веб-сайту, таку як місцезнаходження міста, місцезнаходження країни та доменне ім’я.

Після входу вам буде надано контрольний код та URL-адресу для перегляду та отримання інформації про IP-адресу веб-сайту, який ви зареєстрували.


0

Ви можете використовувати API веб-служб, які виконують цю роботу, як:

see example of service: http://ip-api.com and usage: http://whatmyip.info

Щасти!!!


ip-api.com/json - це найшвидший спосіб і найкращий час відгуку. 150 запитів на хвилину
ivahidmontazer


-1

Якщо ви не можете встановити curl у вашому варіанті wget системи, це буде:

wget -qO- curlmyip.com
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.