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中的Location地址对象
Jan 16 Javascript
零基础学JavaScript最新动画教程+iso光盘下载
Jan 22 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
对比分析json及XML
Nov 28 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 Javascript
Jquery时间轴特效(三种不同类型)
Nov 02 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
layui表格checkbox选择全选样式及功能的实例
Mar 07 Javascript
详解async/await 异步应用的常用场景
May 13 Javascript
解决layui富文本编辑器图片上传无法回显的问题
Sep 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 之 没有mysql支持时的替代方案
2006/10/09 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
javascript call和apply方法
2008/11/24 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
海南地接欢迎词
2014/01/14 职场文书
自荐书范文范例
2014/02/13 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
公司聚餐通知
2015/04/22 职场文书
债务纠纷起诉书
2015/05/20 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
浅谈克隆 JavaScript
2021/11/02 Javascript
python创建字典及相关管理操作
2022/04/13 Python