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 相关文章推荐
JavaScript 编程引入命名空间的方法与代码
Aug 13 Javascript
js传参数受特殊字符影响错误的解决方法
Oct 21 Javascript
javascript制作坦克大战全纪录(2)
Nov 27 Javascript
js实现大转盘抽奖游戏实例
Jun 24 Javascript
Jquery基础之事件操作详解
Jun 14 Javascript
浅谈 vue 中的 watcher
Dec 04 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
vue路由守卫及路由守卫无限循环问题详析
Sep 05 Javascript
小谈angular ng deploy的实现
Apr 07 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
Apr 11 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
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
jquery 循环显示div的示例代码
2013/10/18 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
在Python中表示一个对象的方法
2019/06/25 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
在C#中如何实现多态
2014/07/02 面试题
超市中秋节促销方案
2014/03/21 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
停发工资证明范本
2015/06/12 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
python 逐步回归算法
2021/04/06 Python
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
python自动化之如何利用allure生成测试报告
2021/05/02 Python
opencv读取视频并保存图像的方法
2021/06/04 Python