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 一些用法小结
Sep 11 Javascript
jquery插件开发方法(初学者)
Feb 03 Javascript
JavaScript之编码规范 推荐
May 23 Javascript
Js表格万条数据瞬间加载实现代码
Feb 20 Javascript
JS动态添加选项案例分析
Oct 17 Javascript
简单易懂的天气插件(代码分享)
Feb 04 Javascript
JS实现JSON.stringify的实例代码讲解
Feb 07 Javascript
10道典型的JavaScript面试题
Mar 22 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 Javascript
fullpage.js最后一屏滚动方式
Feb 06 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 Javascript
JavaScript实现网页tab栏效果制作
Nov 20 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版(5)
2006/10/09 PHP
PHP常用数组函数介绍
2014/07/28 PHP
深入理解PHP内核(一)
2015/11/10 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
js和as的稳定传值问题解决
2013/07/14 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
js中null与空字符串""的区别讲解
2019/01/17 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
django框架中间件原理与用法详解
2019/12/10 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
Python常用外部指令执行代码实例
2020/11/05 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
触摸春天教学反思
2014/02/03 职场文书
新书发布会策划方案
2014/06/09 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers
5个实用的JavaScript新特性
2022/06/16 Javascript