определить ип в js

Тема в разделе "JavaScript", создана пользователем lex13, 31 мар 2014.

Модераторы: ZiX
  1. lex13

    lex13 Создатель

    Регистр.:
    12 ноя 2008
    Сообщения:
    29
    Симпатии:
    0
    прошу подсказки,как средствами дважаскрипта или jqueri определить ип
     
  2. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    190
  3. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    501
    Симпатии:
    301
  4. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    190
    aligon7 нравится это.
  5. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    501
    Симпатии:
    301
    Само собой, js выполняется на компе клиента.
     
  6. 0wner

    0wner Постоялец

    Регистр.:
    6 фев 2014
    Сообщения:
    96
    Симпатии:
    21
    Код:
    <body>  IP is: <h1 id=list>-</h1>
    
    <script>
    
    // NOTE: window.RTCPeerConnection is "not a constructor" in FF22/23
    var RTCPeerConnection = /*window.RTCPeerConnection ||*/ window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
    
    if (RTCPeerConnection) (function () {
        var rtc = new RTCPeerConnection({iceServers:[]});
        if (window.mozRTCPeerConnection) {      // FF needs a channel/stream to proceed
            rtc.createDataChannel('', {reliable:false});
        };
       
        rtc.onicecandidate = function (evt) {
            if (evt.candidate) grepSDP(evt.candidate.candidate);
        };
        rtc.createOffer(function (offerDesc) {
            grepSDP(offerDesc.sdp);
            rtc.setLocalDescription(offerDesc);
        }, function (e) { console.warn("offer failed", e); });
       
       
        var addrs = Object.create(null);
        addrs["0.0.0.0"] = false;
        function updateDisplay(newAddr) {
            if (newAddr in addrs) return;
            else addrs[newAddr] = true;
            var displayAddrs = Object.keys(addrs).filter(function (k) { return addrs[k]; });
            document.getElementById('list').textContent = displayAddrs.join(" or perhaps ") || "n/a";
        }
       
        function grepSDP(sdp) {
            var hosts = [];
            sdp.split('\r\n').forEach(function (line) { // c.f. http://tools.ietf.org/html/rfc4566#page-39
                if (~line.indexOf("a=candidate")) {     // http://tools.ietf.org/html/rfc4566#section-5.13
                    var parts = line.split(' '),        // http://tools.ietf.org/html/rfc5245#section-15.1
                        addr = parts[4],
                        type = parts[7];
                    if (type === 'host') updateDisplay(addr);
                } else if (~line.indexOf("c=")) {       // http://tools.ietf.org/html/rfc4566#section-5.7
                    var parts = line.split(' '),
                        addr = parts[2];
                    updateDisplay(addr);
                }
            });
        }
    })(); else {
        document.getElementById('list').innerHTML = "<code>ifconfig | grep inet | grep -v inet6 | cut -d\" \" -f2 | tail -n1</code>";
        document.getElementById('list').nextSibling.textContent = "display automatically";
    }
    
    </script>
    
    </body>
     
  7. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    190
    http://jsfiddle.net/tG8M3/
     
    aligon7 нравится это.
  8. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    Я вот сижу за роутером - оно показывает мой локальный ip. А вообще можно же через ajax узнать.
     
    aligon7 нравится это.
  9. The_Wolf

    The_Wolf

    Регистр.:
    21 окт 2013
    Сообщения:
    339
    Симпатии:
    190
    127.0.0.1 ? :D
     
  10. Vishez

    Vishez

    Регистр.:
    19 авг 2013
    Сообщения:
    170
    Симпатии:
    81
    192.168.0.102 если тебе интересно ;) Имел ввиду ip в локальной сети)
     
    The_Wolf нравится это.