node获取客户端ip功能简单示例
本文实例讲述了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程序设计有所帮助。
相关推荐
-
使用node.js 获取客户端信息代码分享
在网上看见很多问node.js如何获取客户端信息,所以记录下来,以供大家参考. 结果: 是不是很简单呢,有相同需求的小伙伴直接拿走,自由使用吧.
-
NodeJS实现客户端js加密
思路: 服务端渲染业务代码js => 前后端约定加密算法 => 业务代码进行签名 => 客户端解密业务代码 => eval 执行 Node 路由示例: /** * 请自定义 restful API 这里以 GET 为例 * @param {req} * @param {res} * @return {next()} */ //var util = require('utility'); exports.encryption = function(req, res){ //GET v
-
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
前言 我的项目中有一个需求:点击按钮生成可编辑的word文档订单详情的信息 我使用的前端框架是Vue.js.后台使用的是node.js node.js生成和导出word文档我参考的是下面这两篇文章,写的挺好的(github上的那篇里面还有node.js生成word.excel.ppt的example,需要详细的可以看里面) https://www.jb51.net/article/144769.htm https://github.com/Ziv-Barber... 问题 node.js上面这两
-
nodejs socket实现的服务端和客户端功能示例
本文实例讲述了nodejs socket实现的服务端和客户端功能.分享给大家供大家参考,具体如下: 使用node.js的net模块能很快的开发出基于TCP的服务端和客户端.直接贴代码. server.js /** * Created with JetBrains WebStorm. * User: Administrator * Date: 12-10-26 * Time: 下午3:44 * To change this template use File | Settings | File T
-
解决Node.js mysql客户端不支持认证协议引发的问题
前言 mysql模块(项目地址为https://github.com/mysqljs/mysql)是一个开源的.JavaScript编写的MySQL驱动,可以在Node.js应用中来操作MySQL.但在使用过程中,出现了"ER_NOT_SUPPORTED_AUTH_MODE"问题. 本文介绍了出现该问题的原因及解决方案. 报错信息 当我试图使用mysql模块来连接MySQL 8时,出现了如下错误信息: D:\workspaceGithub\nodejs-book-samples\sam
-
详解node HTTP请求客户端 - Request
Request是一个Node.jsNPM模块,它是一个HTTP客户端,使用简单功能确十分强大.我们可以用它来实现HTTP响应流的转接.模拟Form表单提交.支持HTTP认证.OAuth登录.自定义请求头等.下面我们来对这个模块做一个完整的介绍: 1. 安装及简单使用 安装request模块: npm install request Request设计为用最简单的方法发送HTTP请求,它还支持HTTPS请求和自动重定向跟踪: var request = require('request'); re
-
Node.js中的http请求客户端示例(request client)
Node.JS有一个request模块,可以很方便的抓取网页内容.最简单的一个示例: var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } }) 由上例可以看出用request发起一个http请求确实非常简单,不过
-
nodejs简单实现TCP服务器端和客户端的聊天功能示例
本文实例讲述了nodejs简单实现TCP服务器端和客户端的聊天功能.分享给大家供大家参考,具体如下: 服务器端 var net = require('net'); var server = net.createServer(); //聚合所有客户端 var sockets = []; //接受新的客户端连接 server.on('connection', function(socket){ console.log('got a new connection'); sockets.push(soc
-
nodejs获取本机内网和外网ip地址的实现代码
实现代码: 复制代码 代码如下: var os = require('os');function getLocalIP() { var map = []; var ifaces = os.networkInterfaces(); console.log(ifaces); for (var dev in ifaces) { if (dev.indexOf('eth0') != -1) { var tokens = dev.split(':');
-
nodejs socket服务端和客户端简单通信功能
本文实例讲述了通过node.js的net模块实现nodejs socket服务端和客户端简单通信功能,可以用作客户端对服务端的端口监听以及事件回执. server端代码 var net = require('net'); //模块引入 var listenPort = 8080;//监听端口 var server = net.createServer(function(socket){ // 创建socket服务端 console.log('connect: ' + socket.remoteA
-
获取本机IP地址的实例(JavaScript / Node.js)
--web 客户端JavaScript <!-- 调用方式 --> <body onload="checkCookie()"></body> function getYourIP() { const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (RTCPeerConne
-
node.js中express模块创建服务器和http模块客户端发请求
首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文件等,就可以在浏览器中访问了 var express = require("express"); var path = require("path"); var app = express(); //目录 (当前目录下的www_root目录) app.use(expre
随机推荐
- javascript面向对象入门基础详细介绍
- PowerShell实现在控制台中插入绿色的打勾符号
- 简单实现Vue的observer和watcher
- 详解如何去除vue项目中的#——History模式
- 将angular.js项目整合到.net mvc中的方法详解
- 自己写了一个php检测文件编码的函数
- Python实现破解猜数游戏算法示例
- 页面下沉抖动效果-网站HTTP连接没有效果-PC上有效果
- web目录下不应该存在多余的程序(安全考虑)
- 在Linux系统的服务器上隐藏PHP版本号的方法
- JS选取DOM元素的简单方法
- Android 手机浏览器调试使用Chrome进行调试实例详解
- redis+mysql+quartz 一种红包发送功能的实现
- 海量数据库的查询优化及分页算法方案
- C++实现统计代码运行时间计时器的简单实例
- 在jquery中combobox多选的不兼容问题总结
- js onpropertychange输入框 事件获取属性
- vue2.x 父组件监听子组件事件并传回信息的方法
- C#枚举中的位运算权限分配浅谈
- C#页面之间跳转功能的小结