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 CSS修改学习第六章 拖拽
Feb 19 Javascript
基于jquery的Repeater实现代码
Jul 17 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
JavaScript给url网址进行encode编码的方法
Mar 18 Javascript
举例讲解如何判断JavaScript中对象的类型
Apr 22 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
Jul 17 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
Sep 06 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 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 文件上传功能实现代码
2009/06/24 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
jQuery插件开发全解析
2012/10/10 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
Python爬取国外天气预报网站的方法
2015/07/10 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
基于python历史天气采集的分析
2019/02/14 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
python实现井字棋小游戏
2020/03/04 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
出纳工作岗位责任制
2014/02/02 职场文书
小学生元旦广播稿
2014/02/21 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
上诉状格式
2015/05/23 职场文书
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技