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中Object使用详解
Jan 26 Javascript
JavaScript实现图片滑动切换的代码示例分享
Mar 06 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
html+js+highcharts绘制圆饼图表的简单实例
Aug 04 Javascript
js中scrollTop()方法和scroll()方法用法示例
Oct 03 Javascript
jQuery的extend方法【三种】
Dec 14 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
JQuery和HTML5 Canvas实现弹幕效果
Jan 04 Javascript
Javascript自定义事件详解
Jan 13 Javascript
AngularJS实现路由实例
Feb 12 Javascript
全面介绍vue 全家桶和项目实例
Dec 27 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 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提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
php事件驱动化设计详解
2016/11/10 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
基于树莓派的语音对话机器人
2019/06/17 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
Python如何将装饰器定义为类
2020/07/30 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
触电现场处置方案
2014/05/14 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
英语教研活动总结
2014/07/02 职场文书
恰同学少年观后感
2015/06/08 职场文书
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL