2016-01-04 2 views
5

Я просто хочу спросить, есть ли способ получить IP-адреса, используя только javascript? искали довольно долгое время, и большинство результатов я должен использовать api (s). Я использовал этот webrtc, и он отлично работает, но он не работает на IE, API отличный, я тестировал некоторые и отлично работает в разных браузерах.Получить ip-адрес, используя javascript

, но мне нужно получить код сам из api, или можно получить/извлечь код из самого api и сделать указанный файл для источника, поэтому я не буду полагаться на источник из Интернета?

Мне нужен RAW-файл из api, потому что если когда-либо произойдет сбой api, мой сайт тоже будет затронут, поэтому я хочу, чтобы он получил и создал внешний источник и включил его на моем сайте.

+0

Обратитесь к автору API и запросите файл. – Teemu

+0

Возможный дубликат [Получить клиентский IP-адрес, используя только JavaScript?] (Http://stackoverflow.com/questions/391979/get-client-ip-using-just-javascript) См. Ответ Мальты: http://stackoverflow.com/ a/5239085/1291428 – Sebas

+0

^Teemu, чтобы быть точным, нет другого способа получить исходный скрипт? ^ Sebas Я пробовал, и мне интересно, потому что у всех есть источник, где я могу получить исходный файл из этих источников. –

ответ

14

Попробуйте следующее решение: -

Первый вариант: -

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

Второй вариант: -

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

Это может помочь вам.

+4

Я бы поднял, если ваш ответ использовал javascript ... – Sebas

+0

без проблем, спасибо за отзыв @Sebas :) –

+0

его работающие оба варианта, извините, что спросили об этом (вопрос noob), но если когда-либо или, если возможно, jsonip и ipinfo пошли даже за всего на секунду мой сайт также будет затронут, так же как я могу видеть/просматривать/получать исходный код, который использовался на этих сайтах? –

2

Я мог ошибаться, но я думаю, что вы можете обнаружить только IP-сервер, так что вам нужно будет сделать какой-то запрос на получение/отправку.

Другой ответ показывает возможную реализацию этого.

Кроме того, увидеть этот вопрос: How to get client's IP address using javascript only?

0

Вам нужно создать скрипт на внутреннем интерфейсе вашего сайта, который будет возвращать IP, и выполнить его с помощью AJAX.

Или на этапе создания страницы (в интерфейсе), вы можете обнаружить IP, и положить его в печенье, чем читать печенье из JS:

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

на самом деле Мне нужен IP-адрес, и я сохраню его в файле cookie, вот почему. Я последовал твоему предложению, чтобы получить ip через ajax, но я до сих пор не знаю, буду ли я придерживаться этого, так как мне действительно нужен чистый javascript –

0

Если вы хотите исходные данные, вы можете получить его из MaxMind: http://dev.maxmind.com/geoip/ Существует бесплатная и платная версия. Большинство провайдеров информации IP используют эту библиотеку.

Если вам нужен только IP-адрес, вы можете создать собственный скрипт. Просто создайте backend-скрипт что-то вроде PHP и попросите его у JS. Пример: http://php.about.com/od/learnphp/qt/record_user_ip.htm

Смежные вопросы