web-dev-qa-db-fra.com

Obtenir mon adresse IP publique via une API

Existe-t-il une API publique d'une grande entreprise pour obtenir mon adresse IP publique dans un programme? 

J'ai trouvé http://ip-address.domaintools.com/myip.xml, ce qui est exactement ce que je veux, mais malheureusement, il bloque la urllib de Python ainsi que de nombreuses autres bibliothèques http, à moins que vous usurpiez l'agent utilisateur (tout ce qui peut ne pas s'appeler une API).

Le problème est que j'ai besoin de ces données pour certaines bibliothèques potentiellement open source, nous devons donc respecter les règles. Je sais aussi que je peux faire comme print $_SERVER[REMOTE_ADDR], mais je ne veux pas que le trafic du serveur soit acheminé à tous ceux qui utilisent ma bibliothèque.

Alors, y a-t-il quelque chose comme l'URL ci-dessus, mais une vraie API, qui permet aux robots?

70
Slava V

Bien qu'ils ne proviennent pas de grandes entreprises, ils devraient tous fonctionner:

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

La source

91
Jamie Wong

Vous pouvez obtenir votre adresse IP et tout un tas d’autres informations auprès de mon service 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
}

Si vous voulez juste l'IP:

$ curl ipinfo.io/ip
67.188.232.131

Cela fonctionne également pour d'autres domaines, par exemple:

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

Plus de détails disponibles sur http://ipinfo.io/developers

36
Ben Dowling

En format json donnant plus de détails comme latlong, pays, ville, utilisateur-agent:

https://www.trackip.net/ip?json

ou 

https://www.trackip.net/ip

13
nbari

J'utilise celui-ci, facile à retenir et plus court que les autres:

$ curl ifconfig.me

PROTIP: N'oubliez pas que si vous utilisez curl dans des scripts Shell, vous devez utiliser l'option -s, sinon le tableau d'avancement du téléchargement est imprimé.

$ echo `curl -s ifconfig.me`

2
sscarduzio

vous pouvez utiliser les API de service Web qui font ce travail comme:

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

bonne chance!!!

1
user3463375
0
rkhan

Si vous ne pouvez pas installer curl dans votre système, la variante wget serait:

wget -qO- curlmyip.com
0
mimoralea

Oui, vous pouvez essayer avec whoisthisip.com

http://whoisthisip.com/HRAS/ Enregistrez-vous sur whoisthisip.com pour obtenir les informations d'adresse IP d'un site Web, telles que la ville, le pays et le nom de domaine. 

Une fois connecté, vous recevrez un code de référence et une URL pour afficher et obtenir les informations d'adresse IP du site Web que vous avez enregistré. 

0
Adam Biju