web-dev-qa-db-fra.com

Obtenir l'adresse IP en utilisant javascript

Je veux juste demander, y at-il un moyen sur la façon d'obtenir des adresses IP en utilisant uniquement du javascript? Je cherche depuis un certain temps maintenant et la plupart des résultats étaient où j'ai besoin d'utiliser api (s) . utilisé ce webrtc et cela fonctionne très bien mais cela ne fonctionne pas sur IE, API est génial, j’en ai testé et cela fonctionne très bien dans différents navigateurs.

mais je dois obtenir le code lui-même depuis api, .__ ou est-il possible d'obtenir/d'extraire le code depuis api lui-même et de créer un fichier spécifié pour la source afin que je ne compte pas sur une source provenant d'Internet?

J'ai besoin du fichier RAW d'api, car si jamais le src de l'api tombait en panne, mon site serait également affecté. Je souhaite donc qu'il obtienne et crée une source externe et l'inclue sur mon site.

6
Bryan Rance

Essayez la solution suivante: -

Première option: -

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

Deuxième option :-

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

Cela peut vous aider.

16
Harsh Sanghani

Je peux me tromper, mais je pense que vous ne pouvez détecter que le serveur IP, vous devrez donc faire une requête get/post.

L'autre réponse montre une implémentation possible de cela.

Voir aussi cette question: Comment obtenir l'adresse IP du client en utilisant uniquement du javascript?

2
Antoine

Vous devez créer un script sur le backend de votre site, qui sera retourné IP, et l'exécuter via ajax.

Ou au stade de la génération de la page (au niveau du backend), vous pouvez détecter une adresse IP et la placer dans un cookie, puis lire le cookie de JS:

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

Si vous voulez des données sources, vous pouvez les obtenir auprès de MaxMind: http://dev.maxmind.com/geoip/ Il existe une version gratuite et payante La plupart des fournisseurs d’informations IP utilisent cette bibliothèque.

Si vous n'avez besoin que de l'adresse IP, vous pouvez créer votre propre script. Créez simplement un script backend similaire à PHP et demandez-le à JS. Exemple: http://php.about.com/od/learnphp/qt/record_user_ip.htm

0
Babar