node获取客户端ip功能简单示例


Posted in Javascript onAugust 24, 2019

本文实例讲述了node获取客户端ip功能。分享给大家供大家参考,具体如下:

使用nodejs来获取客户端ip

遇到了一个需求,就是服务端让前端自己获取ip,当时就是各种百度,发现通过node来获取是可以的,但是也是node在前端项目内起了一个服务(我起的是express服务),最后证实,服务端自己就可以获取客户端IP。。。

但是我还是写了一个方法来获取,网上有很多方法,就是一个函数的问题,很简单。

代码如下:

var express = require('express')
var app = express();
//发送请求,获取客户端ip
app.get('/', function (req, res) {
  var clientIp = getIp(req)
  console.log('客户端ip',clientIp)
  res.send('Hello World');
})
//通过req的hearers来获取客户端ip
var getIp = function(req) {
  var ip = req.headers['x-real-ip'] || req.headers['x-forwarded-for'] || req.connection.remoteAddres || req.socket.remoteAddress || '';
  if(ip.split(',').length>0){
    ip = ip.split(',')[0];
  }
  return ip;
};
// 指定ipv4格式
var server = app.listen(8081, '0.0.0.0',function () {
  var host = server.address().address
  var port = server.address().port
  console.log('服务启动...')
})

希望本文所述对大家node.js程序设计有所帮助。

Javascript 相关文章推荐
3Z版基于jquery的图片复选框(asp.net+jquery)
Apr 12 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
js实现字符串的16进制编码不加密
Apr 25 Javascript
jQuery团购倒计时特效实现方法
May 07 Javascript
JavaScript生成SQL查询表单的方法
Aug 13 Javascript
js实现字符串和数组之间相互转换操作
Jan 12 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
Mar 13 Javascript
vue+Java后端进行调试时解决跨域问题的方式
Oct 19 Javascript
关于TypeScript模块导入的那些事
Jun 12 Javascript
js针对图片加载失败的处理方法分析
Aug 24 #Javascript
js prototype和__proto__的关系是什么
Aug 23 #Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
Aug 23 #Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
Aug 23 #Javascript
微信小程序swiper禁止用户手动滑动代码实例
Aug 23 #Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
Aug 23 #Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
Aug 23 #Javascript
You might like
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
查看django版本的方法分享
2018/05/14 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Python3如何判断三角形的类型
2020/04/12 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
大学生职业生涯规划书范文
2014/01/04 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
和解协议书
2014/04/16 职场文书
和谐社区口号
2014/06/19 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
社会实践活动报告
2015/02/05 职场文书
个人廉洁自律总结
2015/03/06 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
建议书的格式及范文
2015/09/14 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL