语言:
中文
English
一个轻量、小巧的Node.js模块,用于检索请求用户的IP地址
npm install get-user-ip --save
const GetUserIP = require('get-user-ip')
const http = require('http')
const server = http.createServer((req,res)=>{
res.end(GetUserIP(req))
})
server.listen(6870)
// 如果你使用IPv4,在localhost上你会看到127.0.0.1
// 如果你使用的是IPv6,则为::1, ::fffff:127.0.0.1
如果有一些特殊情况的话,例如使用了CloudFlare
就可以追加第二个参数,它是一个数组所以可以包含多个
const server = http.createServer((req,res)=>{
// 这时优先获取 headers.cf-connecting-ip ,如果不存在则继续按默认参数执行
res.end(GetUserIP(req,['headers.cf-connecting-ip']))
})
它在请求中寻找特定的头信息,如果不存在,则返回0.0.0.0
默认值
用户 IP 是由以下顺序决定的
const defaultHeaders = [
'headers.x-client-ip',
'headers.x-real-ip',
'headers.x-forwarded-for', // 该头信息会返回多个IP,格式为: (客户IP, 代理1 IP,代理2 IP...) 所以返回第一个
'connection.remoteAddress',
'socket.remoteAddress',
'connection.socket.remoteAddress'
]