“electron程序,如何才能获得网卡物理地址呢?”经常有新人这么提问,苏南大叔是这么建议大家的,请换个角度来考虑问题。electron是基于node的,那么node如何获得网卡的物理地址呢?这个问题是不是就变得可信多了。大家要学会思考问题,而不是老做伸手党,对吧?

苏南大叔:electron程序,如何获取网卡物理地址? - electron-getmac
electron程序,如何获取网卡物理地址?(图7-1)

本文测试环境:mac/electron@5.0.2/getmac@1.4.6。本文仅涉及到获取网卡物理地址,暂时不涉及获取别的硬件信息,请知悉。

下载安装

苏南大叔在本篇文章中,使用了一个第三方代码库,叫做getmac。其github主页地址是:

苏南大叔:electron程序,如何获取网卡物理地址? - github-getmac
electron程序,如何获取网卡物理地址?(图7-2)

通过npm在项目根目录下面安装,最方便省力。注意:是项目根目录下执行下面的命令。

npm install --save getmac

安装完成后,就可以在项目根目录下面的package.json里面,使用下面的命令了。不过很不常用,仅仅提供参考。

getmac-node

当然,因为并不是全局安装的结果,您更可能需要在项目根目录下面执行下面的命令:

./node_modules/.bin/getmac-node

苏南大叔:electron程序,如何获取网卡物理地址? - npm-install-getmac
electron程序,如何获取网卡物理地址?(图7-3)

基本原理

苏南大叔从从下面的代码中,看到了getMac函数的定义。就可以看到作者的思路了。文件是:

/source/index.coffee

里面可以找到一句:

command = if isWindows then "%SystemRoot%/System32/getmac.exe" else "/sbin/ifconfig -a || /sbin/ip link"

所以,这个代码的基本原理就是执行ifconfig,然后再进行正则匹配获得数据的。

苏南大叔:electron程序,如何获取网卡物理地址? - getmac-source
electron程序,如何获取网卡物理地址?(图7-7)

总结

electron程序,既然大家都来了,就一定要有思考能力地取学习。加油~ 更多electron的精彩文章,请点击苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   node    electron

本站的忠实读者小伙伴,正在阅读下面这些文章: