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 相关文章推荐
比较搞笑的js陷阱题
Feb 07 Javascript
JS 图片缩放效果代码
Jun 09 Javascript
AeroWindow 基于JQuery的弹出窗口插件
Jun 27 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
Nov 28 Javascript
无刷新预览所选择的图片示例代码
Apr 02 Javascript
JavaScrip调试技巧之断点调试
Oct 22 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
Oct 24 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
Apr 16 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
对vue中methods互相调用的方法详解
Aug 30 Javascript
详解基于Wepy开发小程序插件(推荐)
Aug 01 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 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
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
js 提交和设置表单的值
2008/12/19 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
js中获取事件对象的方法小结
2011/03/13 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
用Python实现KNN分类算法
2017/12/22 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
django 多数据库及分库实现方式
2020/04/01 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
大学军训感想
2014/02/12 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
公司委托书怎么写
2014/08/02 职场文书
市场策划求职信
2014/08/07 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers