我正在使用 now.js,这行是指 localhost。为了让某人访问外部的服务器,我需要将 localhost 修改为我计算机的当前外部 ip(我的 ip 是动态的)。有什么方法可以从脚本中检测当前的外部 ip?
window.now = nowInitialize("//localhost:8081", {});
我正在使用 now.js,这行是指 localhost。为了让某人访问外部的服务器,我需要将 localhost 修改为我计算机的当前外部 ip(我的 ip 是动态的)。有什么方法可以从脚本中检测当前的外部 ip?
window.now = nowInitialize("//localhost:8081", {});
您可以询问像这样的外部服务(这很好,因为它会在没有格式化的情况下返回它)。
要使用它,您可以使用Node 的内置http
模块:
require('http').request({
hostname: 'fugal.org',
path: '/ip.cgi',
agent: false
}, function(res) {
if(res.statusCode != 200) {
throw new Error('non-OK status: ' + res.statusCode);
}
res.setEncoding('utf-8');
var ipAddress = '';
res.on('data', function(chunk) { ipAddress += chunk; });
res.on('end', function() {
// ipAddress contains the external IP address
});
}).on('error', function(err) {
throw err;
});
请记住,外部服务可能会关闭或更改——这已经发生过一次,使这个答案无效。我已经更新了它,但这可能会再次发生......</p>