如何使用koaJS获取本地域IP地址

时间:2017-03-16 02:04:02

标签: javascript node.js koa

我想获取地理位置的本地域IP地址。但我只能得到内部IP地址,不能用于地理位置。这是我的代码

let koa = require('koa');
let request = require('koa-request');
let proxyaddr = require('proxy-addr');
let ip = require('ip');
let app = new koa();

app.proxy = true;

let API_GEO = 'xxx';
let API_WETHER = 'xxx';
let KEY = 'xxx';
let address = ip.address();

app.listen(3000, function(){
    console.log('Server running on https://localhost:3000')
});

我应该如何更改代码以实现目标。谁能举个例子呢?

1 个答案:

答案 0 :(得分:1)

不确定,如果您使用此方法获取用户 IP地址(我猜它是您自己的内部服务器IP)。 Koa在ctx.request.ip的请求对象上有一个属性。另见原始koa文档http://koajs.com

接下来的事情是,如何将他发送到外部APIi:你可以使用像kia-request这样的东西:https://github.com/dionoid/koa-request

app.use(function *() {

    var options = {
        url: 'https://your-endpoint.com',   // here you propably can add you request parameters
        headers: { 'Accept': 'application/json' }
    };

    var response = yield request(options); 
    var result = JSON.parse(response.body);

    console.log(result);
});

(改编自koa-request docs)