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 相关文章推荐
基于Jquery的动态创建DOM元素的代码
Dec 28 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
Jan 02 Javascript
利用JavaScript检测CPU使用率自己写的
Mar 22 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
第四章之BootStrap表单与图片
Apr 25 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
Jun 06 Javascript
vue判断input输入内容全是空格的方法
Mar 02 Javascript
让Vue也可以使用Redux的方法
May 23 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
微信小程序如何自定义table组件
Jun 29 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 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
收音机的保养
2021/03/01 无线电
PHP实现简单爬虫的方法
2015/07/29 PHP
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python数据封装json格式数据
2018/03/04 Python
python学生管理系统代码实现
2020/04/05 Python
Python读写zip压缩文件的方法
2018/08/29 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
建龙钢铁面试总结
2014/04/15 面试题
出纳岗位职责模板
2013/11/27 职场文书
竞聘书模板
2014/03/31 职场文书
给公司的建议书范文
2014/05/13 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
学历证明范文
2015/06/16 职场文书
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
redis缓存存储Session原理机制
2021/11/20 Redis
Python实现文字pdf转换图片pdf效果
2022/04/03 Python