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运行时库属性一览表
Mar 14 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
js去除浏览器默认底图的方法
Jun 08 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
AngularJS HTML DOM详解及示例代码
Aug 17 Javascript
node.js学习之交互式解释器REPL详解
Dec 08 Javascript
js实现3d悬浮效果
Feb 16 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
Mar 09 Javascript
浅谈JavaScript中的属性:如何遍历属性
Sep 14 Javascript
jQuery层叠选择器用法实例分析
Jun 28 jQuery
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 Javascript
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
python黑魔法之编码转换
2016/01/25 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
python 通过文件夹导入包的操作
2020/06/01 Python
如何将json数据转换为python数据
2020/09/04 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
创建卫生先进单位实施方案
2014/03/10 职场文书
地理科学专业自荐信
2014/09/01 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL