我想获取地理位置的本地域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')
});
我应该如何更改代码以实现目标。谁能举个例子呢?
答案 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)