如何在 Angular 2 组件中使用 require('os') 来获取 IP 地址?
How can I use require('os') in an Angular 2 Component to get an IP Adress?
我想要求以下内容:https://nodejs.org/api/os.html,
这样我就可以从 Angular 组件中访问 IP 地址等。
但以下内容不起作用:
const os = require("os");
当我登录 os 时,我只得到空值:
{endianness: ƒ, hostname: ƒ, loadavg: ƒ, uptime: ƒ, freemem: ƒ, …}
EOL
:
"↵"
arch
:
ƒ ()
cpus
:
ƒ ()
endianness
:
ƒ ()
freemem
:
ƒ ()
getNetworkInterfaces
:
ƒ ()
homedir
:
ƒ ()
hostname
:
ƒ ()
loadavg
:
ƒ ()
networkInterfaces
:
ƒ ()
platform
:
ƒ ()
release
:
ƒ ()
tmpDir
:
ƒ ()
tmpdir
:
ƒ ()
totalmem
:
ƒ ()
type
:
ƒ ()
uptime
:
ƒ ()
__proto__
:
Object
在我的 Node Express 服务器中一切正常,我可以按预期使用 OS。
编辑:如果这不起作用,是否还有其他方法可以获取 IP 地址和架构?
编辑 2:要求:我无法调用外部网站以从那里取回我的 IP
据我所知,OS 模块与浏览器不兼容。您可以改用 sniffr 在客户端获取类似信息。
我找到了一个相当简单的解决方案来满足我的特定要求,我想分享它以帮助处于类似情况的其他人:
使用 window 对象我得到了所有信息而不需要添加任何包
ipAddress = window.location.host
我想要求以下内容:https://nodejs.org/api/os.html, 这样我就可以从 Angular 组件中访问 IP 地址等。
但以下内容不起作用:
const os = require("os");
当我登录 os 时,我只得到空值:
{endianness: ƒ, hostname: ƒ, loadavg: ƒ, uptime: ƒ, freemem: ƒ, …}
EOL
:
"↵"
arch
:
ƒ ()
cpus
:
ƒ ()
endianness
:
ƒ ()
freemem
:
ƒ ()
getNetworkInterfaces
:
ƒ ()
homedir
:
ƒ ()
hostname
:
ƒ ()
loadavg
:
ƒ ()
networkInterfaces
:
ƒ ()
platform
:
ƒ ()
release
:
ƒ ()
tmpDir
:
ƒ ()
tmpdir
:
ƒ ()
totalmem
:
ƒ ()
type
:
ƒ ()
uptime
:
ƒ ()
__proto__
:
Object
在我的 Node Express 服务器中一切正常,我可以按预期使用 OS。
编辑:如果这不起作用,是否还有其他方法可以获取 IP 地址和架构?
编辑 2:要求:我无法调用外部网站以从那里取回我的 IP
据我所知,OS 模块与浏览器不兼容。您可以改用 sniffr 在客户端获取类似信息。
我找到了一个相当简单的解决方案来满足我的特定要求,我想分享它以帮助处于类似情况的其他人:
使用 window 对象我得到了所有信息而不需要添加任何包
ipAddress = window.location.host