js 获取mac地址和IP地址

该博客详细介绍了如何在JavaScript中实现获取本地MAC地址、本机IP地址以及外网IP地址的方法,包括相关步骤和可能涉及的技术点。

1. js 获取mac地址

function MacInfo(){
      var locator =new ActiveXObject ("WbemScripting.SWbemLocator");
      var service = locator.ConnectServer(".");
      var properties = service.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled =True");
      var e =new Enumerator (properties);
      {
            var p = e.item();
           var mac = p.MACAddress;
           alert(mac)
      }
}

2.获取本机IP地址

function getIPKey(infoObj) {
    var that = this;
    if (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection) {
        var Rtc = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
        try {
            var nrtc = new Rtc({
                iceServers: []
            });
            nrtc.createDataChannel('', {
                reliable: !1
            });
        } catch (e) {
            infoObj['ip'] = '0.0.0.0';
            return infoObj;
        }

        var e = false;
        nrtc.onicecandidate = function(Rtc) {
            var reg = /([0-9]{1,3}(\.[0-9]{1,3}){3})/,
                infoArr = [];
            'complete' != Rtc.target.iceGatheringState || e || (e = !0,
                Rtc.target.localDescription.sdp.split('\n').forEach(function(a) {
                    if ((a = reg.exec(a)) && '127.0.0.1' != a[1] && '0.0.0.0' != a[1] && -1 === infoArr.indexOf(a[1])) {
                        infoArr.push(a[1]);
                    }
                }),
                (function() {
                    window.currentIp = 0 < infoArr.length ? infoArr.sort()[0] : '0.0.0.0';
                    infoObj.ip = window.currentIp;
                })());
        };

        nrtc.createOffer(function(a) {
            nrtc.setLocalDescription(a, that.F(), that.F());
        }, that.F());

        infoObj.ip = window.currentIp || '0.0.0.0';

        return infoObj;
    } else {
        infoObj['ip'] = '0.0.0.0';

        return infoObj;
    }
}

3. 获取外网IP

引入js
<script src="https://pv.sohu.com/cityjson?ie=utf-8"></script>

	//获取外网ip方式1:搜狐
    function getIpBysouhu(){
        console.log("---cip---"+returnCitySN["cip"]);
        console.log("---cid---"+returnCitySN["cid"]);
        console.log("---cname---"+returnCitySN["cname"]);
    }
    //获取外网ip方式2:ipify
    function getIpByIpify(){
        $.ajax({
            url : "https://api.ipify.org/?format=json",
            type : "GET",
            data : {},
            dataType : "json",
            success : function(result) {
                console.log("---ip---"+result.ip);
            },
            error : function(){
                 
            }
        });
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值