web-dev-qa-db-de.com

Rufen Sie die IP-Adresse mit Javascript ab

Ich möchte nur fragen, gibt es eine Möglichkeit, wie man IP-Adressen nur mit Hilfe von Javascript erhält? Sucht nun schon eine ganze Weile und die meisten Ergebnisse waren die Verwendung von API (s) . Ich habe verwendet dieses webrtc und es funktioniert gut, aber es funktioniert nicht auf IE, API ist großartig, ich habe einige getestet und das funktioniert gut in verschiedenen Browsern.

aber ich muss den Code selbst von der API, bekommen. Oder kann ich den Code von der API selbst holen und extrahieren und eine angegebene Datei für die Quelle erstellen, damit ich mich nicht auf die Quelle aus dem Internet verlasse?

Ich brauche die RAW-Datei von der API, denn wenn die Sri der API untergegangen ist, wird auch meine Site betroffen sein. Ich möchte, dass sie eine externe Quelle erhält und erstellt und sie auf meiner Website einfügt.

6
Bryan Rance

Versuchen Sie folgende Lösung: -

Erste Wahl :-

$(document).ready(function () {
    $.getJSON("http://jsonip.com/?callback=?", function (data) {
        console.log(data);
        alert(data.ip);
    });
});

Zweite Option :-

$.get("http://ipinfo.io", function(response) {
    alert(response.ip);
}, "jsonp");

Es kann dir helfen.

16
Harsh Sanghani

Ich könnte falsch liegen, aber ich denke, Sie können nur die IP-Serverseite erkennen, also müssen Sie eine Get/Post-Anfrage machen.

Die andere Antwort zeigt eine mögliche Implementierung davon.

Siehe auch diese Frage: Wie kann ich die IP-Adresse des Kunden nur mit Javascript erhalten?

2
Antoine

Sie müssen ein Skript am Backend Ihrer Site erstellen, das die IP-Adresse zurückgibt, und es über ajax ausführen.

Oder beim Erstellen der Seite (im Backend) können Sie die IP-Adresse erkennen und in ein Cookie setzen, bevor Sie das Cookie von JS lesen:

function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}
0
gvozd1989

Wenn Sie Quelldaten wünschen, können Sie sie von MaxMind erhalten: http://dev.maxmind.com/geoip/ .__ Es gibt eine kostenlose und eine kostenpflichtige Version. Die meisten IP-Informationsanbieter verwenden diese Bibliothek.

Wenn Sie nur die IP benötigen, können Sie ein eigenes Skript erstellen. Erstellen Sie einfach ein Backend-Skript, etwa mit PHP, und fordern Sie es von JS an. Beispiel: http://php.about.com/od/learnphp/qt/record_user_ip.htm

0
Babar