Есть ли публичный API от какой-то крупной компании, чтобы получить доступ к публичному ip из программы?
Я нашел http://ip-address.domaintools.com/myip.xml
, что именно то, что я хочу, но, к сожалению, он блокирует Python urllib
, а также многие другие http-библиотеки, если вы не обманываете пользователя-агента (что-либо, что не может быть вызвано API вообще).
Проблема в том, что мне нужны эти данные для некоторой библиотеки с открытым исходным кодом, поэтому мы должны играть по правилам. Я также знаю, что я могу просто сделать что-то вроде print $_SERVER[REMOTE_ADDR]
, но я не хочу трафик сервера всем, кто использует мою библиотеку.
Итак, есть ли что-то вроде URL-адреса выше, но настоящий API, который позволяет роботам?
Хотя не от крупных компаний, все они должны работать:
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
Источник
Вы можете получить свой 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
В json формате, дающем более подробную информацию, например, latlong, country, city, user-agent:
https://www.trackip.net/ip?json
или
Я использую этот, легко запоминающийся и более короткий, чем другие:
$ curl ifconfig.me
PROTIP: Помните, что если вы используете curl в сценариях оболочки, вы должны использовать опцию -s
, иначе она распечатает таблицу выполнения загрузки.
$ echo `curl -s ifconfig.me`
вы можете использовать API веб-сервиса, который выполняет следующие действия:
see example of service: http://ip-api.com and usage: http://whatmyip.info
Удачи!!!
Если вы не можете установить завиток в вашей системе, то вариант wget:
wget -qO- curlmyip.com
Да, вы можете попробовать с whoisthisip.com
http://whoisthisip.com/HRAS/ Зарегистрируйтесь на whoisthisip.com, чтобы получить информацию об IP-адресе веб-сайта, такую как местоположение города, название страны и доменное имя.
После входа в систему вам будет предоставлен ссылочный код и URL-адрес для просмотра и получения информации о IP-адресе для зарегистрированного вами сайта.
Доступ к ip-информации с помощью этого api:
http://cms.javabrown.com/jws/ws.php?service=IpService
JSONP:
http://cms.javabrown.com/jws/ws.php?service=IpService&callback=?