當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
获取本机IP地址[JavaScript / Node.js]
生活随笔
收集整理的這篇文章主要介紹了
获取本机IP地址[JavaScript / Node.js]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
--web客戶端JavaScript
<body onload="checkCookie()"></body> function getYourIP(){const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;if (RTCPeerConnection) (function(){const rtc = new RTCPeerConnection({iceServers: []});if (1 || window.mozRTCPeerConnection){rtc.createDataChannel('', {reliable: false});}rtc.onicecandidate = function(evt){if (evt.candidate) grepSDP(`a=${evt.candidate.candidate}`);};rtc.createOffer(function(offerDesc){grepSDP(offerDesc.sdp);rtc.setLocalDescription(offerDesc);}, function(e) {console.warn('offer failed', e);});const addrs = Object.create(null);addrs['0.0.0.0'] = false;function updateDisplay(newAddr){if (newAddr in addrs) return;addrs[newAddr] = true;const displayAddrs = Object.keys(addrs).filter(function(k) {return addrs[k];});for (let i = 0; i < displayAddrs.length; i++){if (displayAddrs[i].length > 16){displayAddrs.splice(i, 1);i--;}}console.info('您的IP: ', displayAddrs[0]);}function grepSDP(sdp){sdp.split('\r\n').forEach(function(line, index, arr){if (~line.indexOf('a=candidate')){const parts = line.split(' '),addr = parts[4],type = parts[7];if (type === 'host') updateDisplay(addr);} else if (~line.indexOf('c=')){const parts = line.split(' '),addr = parts[2];updateDisplay(addr);}});}})();else {console.warn('請使用主流瀏覽器:chrome,firefox,opera,safari');} }--web服務端Node.js
const os = require('os'); module.exports ={getLocalIP : function(){const eth0 = os.networkInterfaces().eth0;let localhost = null;for (let i = 0; i < eth0.length; i++){if (eth0[i].family == 'IPv4'){localhost = eth0[i].address;}}return localhost;} };備注
引用作者的文章
原址
轉載于:https://www.cnblogs.com/skyxing7/p/11553560.html
總結
以上是生活随笔為你收集整理的获取本机IP地址[JavaScript / Node.js]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 优雅的解析 jsonp
- 下一篇: Robo 3T SQL