Erhalten meiner öffentlichen IP über API [geschlossen]

76

Gibt es eine öffentliche API von einem großen Unternehmen, um meine öffentliche IP aus einem Programm herauszuholen?

Ich habe herausgefunden http://ip-address.domaintools.com/myip.xml, was genau das ist, was ich will, aber leider blockiert es Pythons und urllibviele andere http-Bibliotheken, es sei denn, Sie fälschen User-Agent (alles, was dies tut, kann überhaupt nicht als API bezeichnet werden).

Das Problem ist, dass ich diese Daten für eine potenziell Open-Source-Bibliothek benötige, also müssen wir uns an die Regeln halten. Ich weiß auch, dass ich nur etwas tun kann print $_SERVER[REMOTE_ADDR], aber ich möchte nicht den Datenverkehr an alle Server senden , die meine Bibliothek verwenden.

Gibt es so etwas wie die obige URL, aber eine echte API, die Roboter erlaubt?

Slava V.
quelle
1
Duck Duck Go hat eine öffentliche Methode zur Bestimmung Ihrer IP-Adresse. Ich habe es hier ausführlicher beschrieben, da diese Frage geschlossen ist und ich keine Antwort hinzufügen kann: stackoverflow.com/a/33743758/901641
ArtOfWarfare
2
ipify.org ist ein alternativer Dienst.
Horcrux7
Ich schlage vor, Ipregistry zu versuchen: api.ipregistry.co/?key=tryout (Haftungsausschluss: Ich führe den Dienst aus).
Laurent

Antworten:

95

Obwohl nicht von großen Unternehmen, sollten alle diese funktionieren:

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

Jamie Wong
quelle
1
Das ist großartig! Vielen Dank, insb. für dyndns eins reicht das!
Slava V
4
icanhazip.com gibt das sauberste Ergebnis imho
mnagel
4
Auch ipinfo.io/ip
Ben Dowling
@mnagel Es scheint auch das einzige zu sein, das HTTPS unterstützt. Wie ironisch ...
Navin
4
Sie können ipify.org überprüfen , das über eine eindeutige API verfügt und HTTPS unterstützt.
Yoan Tournade
40

Sie können Ihre IP-Adresse und eine ganze Reihe weiterer Informationen über meinen Dienst http://ipinfo.io abrufen :

$ 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

Das funktioniert auch für andere Bereiche, zB:

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

Weitere Informationen finden Sie unter http://ipinfo.io/developers

Ben Dowling
quelle
2
Unterstützt nicht HTTPS
Navin
Die kostenpflichtigen Pläne haben alle HTTPS-Unterstützung. Siehe ipinfo.io/pricing
Ben Dowling
Keine IPv6-Unterstützung ...
Rustyx
Es unterstützt IPv6 über v6.ipinfo.io
Ben Dowling
Es sieht so aus, als ob https jetzt unterstützt wird. Es ist kein kostenpflichtiger Plan erforderlich.
Raman
3

Ich benutze dieses, leicht zu merken und es ist kürzer als andere:

$ curl ifconfig.me

PROTIP: Denken Sie daran, dass Sie bei Verwendung von Curl in Shell-Skripten die -sOption verwenden müssen, da sonst die Download-Fortschrittstabelle gedruckt wird.

$ echo `curl -s ifconfig.me`

sscarduzio
quelle
3
Ich wechsle von ifconfig.me zu ipinfo.io wegen Langsamkeit
rodvlopes
Keine IPv6-Unterstützung ...
Rustyx
0

Ja, Sie können es mit whoisthisip.com ausprobieren

http://whoisthisip.com/HRAS/ Registrieren Sie sich bei whoisthisip.com, um die IP-Adressinformationen einer Website zu erhalten, z. B. Standort der Stadt, Standort des Landes und Domainname.

Nach der Anmeldung erhalten Sie einen Referenzcode und eine URL, um die Informationen zur IP-Adresse der von Ihnen registrierten Website anzuzeigen und abzurufen.

Adam Biju
quelle
0

Sie können Webdienst-APIs verwenden, die dies wie folgt tun:

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

Viel Glück!!!

user3463375
quelle
ip-api.com/json ist der schnellste Weg und hat die beste Reaktionszeit. 150 Anfragen / Minute
ivahidmontazer
-1

Wenn Sie curl nicht in Ihrem System installieren können, wäre die wget-Variante:

wget -qO- curlmyip.com
mimoralea
quelle