Получение моего публичного IP-адреса через API

Есть ли публичный API от какой-то крупной компании, чтобы получить доступ к публичному ip из программы?

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

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

Итак, есть ли что-то вроде URL-адреса выше, но настоящий API, который позволяет роботам?

Ответ 1

Хотя не от крупных компаний, все они должны работать:

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

Источник

Ответ 2

Вы можете получить свой 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

Ответ 4

Я использую этот, легко запоминающийся и более короткий, чем другие:

$ curl ifconfig.me

PROTIP: Помните, что если вы используете curl в сценариях оболочки, вы должны использовать опцию -s, иначе она распечатает таблицу выполнения загрузки.

$ echo `curl -s ifconfig.me`

Ответ 5

вы можете использовать API веб-сервиса, который выполняет следующие действия:

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

Удачи!!!

Ответ 7

Да, вы можете попробовать с whoisthisip.com

http://whoisthisip.com/HRAS/  Зарегистрируйтесь на whoisthisip.com, чтобы получить информацию об IP-адресе веб-сайта, такую ​​как местоположение города, название страны и доменное имя.

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

Ответ 8

Если вы не можете установить завиток в вашей системе, то вариант wget:

wget -qO- curlmyip.com