当前位置:网站首页>nodejs获取客户端ip
nodejs获取客户端ip
2022-07-06 23:41:00 【samscat】
// 方法1
function getClientIp(req) {
var ipAddress;
var forwardedIpsStr = req.headers['X-Forwarded-For'];//判断是否有反向代理头信息
if (forwardedIpsStr) {
//如果有,则将头信息中第一个地址拿出,该地址就是真实的客户端IP;
var forwardedIps = forwardedIpsStr.split(',');
ipAddress = forwardedIps[0];
}
if (!ipAddress) {
//如果没有直接获取IP;
ipAddress = req.connection.remoteAddress;
}
return ipAddress;
};
// 方法2
function getClientIp2(req) {
return req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
};
const http = require('http')
const server = http.createServer()
//获取客户端真实ip
function getClientIp(req) {
return req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
};
server.on('request',(req, res) => {
const url = req.url;
const method = req.method;
const str = `您请求的地址:${
url},请求方法:${
method}`
// 设置请求头,解决中文乱码问题
res.setHeader('Content-Type','text/html;charset=utf-8')
res.write('ip', 'utf8', () => {
console.log('ippp', getClientIp(req))
})
// 发送数据给客户端和结束请求
res.end(str)
})
server.listen('81',() => {
console.log('start')
})
边栏推荐
- 漏电继电器LLJ-100FS
- Creation and use of thread pool
- MySQL数据库学习(7) -- pymysql简单介绍
- NPDP产品经理认证,到底是何方神圣?
- Educational Codeforces Round 22 B. The Golden Age
- DJ-ZBS2漏电继电器
- How does redis implement multiple zones?
- 人体传感器好不好用?怎么用?Aqara绿米、小米之间到底买哪个
- Intelligent annotation scheme of entity recognition based on hugging Face Pre training model: generate doccano request JSON format
- Summary of the mean value theorem of higher numbers
猜你喜欢
K6EL-100漏电继电器
DOM-节点对象+时间节点 综合案例
Jhok-zbg2 leakage relay
How digitalization affects workflow automation
漏电继电器JOLX-GS62零序孔径Φ100
Phenomenon analysis when Autowired annotation is used for list
什么是依赖注入(DI)
sql优化常用技巧及理解
[opencv] image morphological operation opencv marks the positions of different connected domains
Jhok-zbl1 leakage relay
随机推荐
纪念下,我从CSDN搬家到博客园啦!
Scheduledexecutorservice timer
Mysql database learning (7) -- a brief introduction to pymysql
Initial experience of annotation
《5》 Table
What changes will PMP certification bring?
Aidl and service
Addressable pre Download
How does redis implement multiple zones?
[论文阅读] A Multi-branch Hybrid Transformer Network for Corneal Endothelial Cell Segmentation
Leakage relay llj-100fs
10 distributed databases that take you to the galaxy
人体传感器好不好用?怎么用?Aqara绿米、小米之间到底买哪个
ThinkPHP Association preload with
Linkedblockingqueue source code analysis - initialization
K6el-100 leakage relay
照片选择器CollectionView
利用OPNET进行网络单播(一服务器多客户端)仿真的设计、配置及注意点
How can project managers counter attack with NPDP certificates? Look here
Is it necessary to renew the PMP certificate?