{ host: '127.0.0.1:8080',
connection: 'keep-alive',
'cache-control': 'max-age=0',
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36',
accept: '*/*',
referer: 'http://127.0.0.1:8080/',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q=0.8',
cookie: 'io=bP2eXrqS3SkWYY4cAAAC11' }
我正在使用来自npm的koa.io来尝试获取客户端连接的IP地址。当我尝试以下代码时,上面的内容将打印在控制台中。我似乎无法获得客户端的IP地址。
app.io.use(function* userLeft(next) {
// on connect
console.log(this.headers);
});
我目前在localhost上。所以我期望客户端IP地址是127.0.0.1?
答案 0 :(得分:0)
试试this.request.ip
。它应该工作......
this.request.ip
应该足以返回客户端ip,但它不是。但在配置我的代理后,this.request.header["x-forwarded-for"]
将返回客户端IP 使用这个简单的服务器进行测试:
var koa = require('koa');
var app = koa();
app.use(function *(){
this.body = this.request.ip;
});
app.listen(3000);