2010-06-22 3 views
67

Gibt es eine öffentliche API von einer großen Firma, um meine öffentliche IP-Adresse aus einem Programm zu bekommen?Erhalten meiner öffentlichen IP über API

Ich habe http://ip-address.domaintools.com/myip.xml gefunden, was genau ich will, aber leider blockiert es urllib Python sowie viele andere http-Bibliotheken, es sei denn Sie spoof Benutzer-Agent (alles, was tun kann, kann nicht eine API aufgerufen werden).

Das Problem ist, dass ich diese Daten für einige potenziell Open Source-Bibliothek benötigen, so müssen wir nach den Regeln spielen. Ich weiß auch, dass ich nur smth wie print $_SERVER[REMOTE_ADDR] tun kann, aber ich möchte nicht Server-Verkehr für alle mit meiner Bibliothek.

Also, gibt es so etwas wie die obige URL, aber echte API, die Roboter erlaubt?

+0

bezogen werden: [Entdeckung öffentliche IP-programmatisch] (http://stackoverflow.com/q/613471/4279) – jfs

+0

Duck Go hat eine öffentliche Methode zur Bestimmung Ihrer IP-Adresse. Ich habe es hier genauer beschrieben, da diese Frage geschlossen ist und ich keine Antwort hinzufügen kann: http://stackoverflow.com/a/33743758/901641 – ArtOfWarfare

+1

https://www.ipify.org/ ist ein alternativer Dienst . – Horcrux7

Antwort

87

Zwar nicht von großen Unternehmen, die alle diese funktionieren sollte:

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 

Quelle

+1

Das ist großartig! Vielen Dank, besonders. für dyndns eins, das reicht! –

+3

icanhazzip.com liefert das sauberste Ergebnis imho – mnagel

+4

Auch http://ipinfo.io/ip –

34

Sie Ihre IP bekommen können, und eine ganze Reihe anderer Informationen , von meinem 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 
} 

Wenn Sie nur die IP wollen:

$ curl ipinfo.io/ip 
67.188.232.131 

, die auch für andere Felder funktioniert, zB:

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

Mehr Details verfügbar bei http://ipinfo.io/developers

+1

Unterstützt nicht HTTPS – Navin

+0

Die bezahlten Pläne haben alle HTTPS-Unterstützung. Siehe http://ipinfo.io/pricing –

2

ich diese benutzen, leicht zu erinnern Sie sich und es ist kürzer als andere:

$ curl ifconfig.me

PROTIP: Denken Sie daran, dass Sie, wenn Sie curl in Shell-Skripten verwenden, die Option -s verwenden müssen, da sonst die Download-Fortschrittstabelle gedruckt wird.

$ echo `curl -s ifconfig.me`

+2

Ich gehe von _ifconfig.me_ zu _ipinfo.io_ aufgrund der Langsamkeit – rodvlopes

0

Ja, Sie können mit whoisthisip ausprobieren.com

http://whoisthisip.com/HRAS/ Register zu whoisthisip.com eine Website IP-Adressinformationen wie City-Lage, Lage auf dem Land und Domain-Namen zu erhalten.

Sobald Sie angemeldet sind, erhalten Sie einen Referenzcode und eine URL, um die IP-Adresse der von Ihnen registrierten Website anzuzeigen und zu erhalten.

1

Sie Web-Service-API, die diese Arbeit tun, wie können:

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

viel Glück !!!

+0

http://ip-api.com/json ist der schnellste Weg und es hat die beste Reaktionszeit. 150 Anfragen/Minute – ivahidmontazer

0

Wenn Sie nicht curl in Ihrem System wget Variante installieren wäre:

wget -qO- curlmyip.com 
Verwandte Themen