nodejs爬虫 如何获取对方的IP地址

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
下个星期向同学展示一个联机小游戏,在自己电脑上开个服务器让他们通过来连接访问进入游戏,但是因为ip不固定,每次都要改客户端文件里面连接服务器的url。所以能不能到时候告诉同学们我电脑ip地址后让他们直接在浏览器里面输入ip加端口访问进入游戏,但是希望客户端可以动态获取服务器ip,而不是写死的;说的可能不清楚,我用的是socket.io.js,客户端有个方法io.connect(url)所以就必须知道这个url。其实可以从浏览器地址栏获取,但是感觉这样不太好,有谁有比较好的方法吗,么么哒
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
var os=require('os'),
iptable={},
ifaces=os.networkInterfaces();
for (var dev in ifaces) {
ifaces[dev].forEach(function(details,alias){
if (details.family=='IPv4') {
iptable[dev+(alias?':'+alias:'')]=details.
console.log(iptable);
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
真实的项目可以在服务端启动的时候获取本地 ip,然后写入到静态文件(如 HTML 中的某个隐藏标签中),这样 JavaScript 可以动态获取。也可以通过调用 server 的接口来获取参数再交给 socket.io。
比如说很多前端项目用 gulp 做构建(当然任何 task runner 都可以),那么就可以在服务器端启动服务前运行 production 环境构建,由于构建是运行在 node 环境下的,可以获取到任何你想要的数据(只要够权限),命令行获取的参数可以传递给 gulp 脚本,然后 gulp build 时写入目标文件(比如利用 gulp-replace 等插件),之后浏览器加载页面时,JS 动态获取插入的信息即可。
因此,既然你有 node 的服务端,自然可以在伺服静态资源之前动态改写(或插入)其中的内容,这并不是什么困难的工作。
再简单一点,也可以服务端把必要的信息写入一个数据文件(比如 JSON),然后 JS 请求这个文件来获取也可以,其道理类似服务端扩展一个接口供客户端访问。
直接获取浏览器的 url 不是不可以,但当然不够好,因为很多时候 socket 服务未必和 web server 在一个 host 上。
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。如何在Node.js中获取本机IP地址_百度知道
如何在Node.js中获取本机IP地址
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
育知同创教育知道合伙人
百度知道合伙人官方认证企业
育知同创教育
知道合伙人
1、【专注:Python+人工智能|Java大数据|HTML5培训】。 2、【免费提供名师直播课堂、公开课及视频教程】。 3、【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
在mac上获取本地IP地址查看文本打印var os = require('os');
var IPv4,hostN
hostName=os.hostname();
for(var i=0;i&os.networkInterfaces().en0.i++){
if(os.networkInterfaces().en0[i].family=='IPv4'){
IPv4=os.networkInterfaces().en0[i].
console.log('----------local IP: '+IPv4);
console.log('----------local host: '+hostName);
在ubuntu server上获取本地IP地址查看文本打印?var os = require('os');
var IPv4,hostN
hostName=os.hostname();
for(var i=0;i&os.networkInterfaces().eth0.i++){
if(os.networkInterfaces().eth0[i].family=='IPv4'){
IPv4=os.networkInterfaces().eth0[i].
console.log('----------local IP: '+IPv4);
console.log('----------local host: '+hostName);
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。nodejs获取本机内网和外网ip地址的实现代码
转载 &更新时间:日 21:43:07 & 作者:
这篇文章主要介绍了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(':');&&&&&&&&&&& var dev2 =&&&&&&&&&&& if (tokens.length == 2) {&&&&&&&&&&&&&&& dev2 = 'eth1:' + tokens[1];&&&&&&&&&&& } else if (tokens.length == 1) {&&&&&&&&&&&&&&& dev2 = 'eth1';&&&&&&&&&&& }&&&&&&&&&&& if (null == ifaces[dev2]) {&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&& // 找到eth0和eth1分别的ip&&&&&&&&&&& var ip = null, ip2 =&&&&&&&&&&& ifaces[dev].forEach(function(details) {&&&&&&&&&&&&&&& if (details.family == 'IPv4') {&&&&&&&&&&&&&&&&&&& ip = details.&&&&&&&&&&&&&&& }&&&&&&&&&&& });&&&&&&&&&&& ifaces[dev2].forEach(function(details) {&&&&&&&&&&&&&&& if (details.family == 'IPv4') {&&&&&&&&&&&&&&&&&&& ip2 = details.&&&&&&&&&&&&&&& }&&&&&&&&&&& });&&&&&&&&&&& if (null == ip || null == ip2) {&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&& // 将记录添加到map中去&&&&&&&&&&& if (ip.indexOf('10.') == 0 ||&&&&&&&&&&&&&&& ip.indexOf('172.') == 0 ||&&&&&&&&&&&&&&& ip.indexOf('192.') == 0) {&&&&&&&&&&&&&&& map.push({"intranet_ip" : ip, "internet_ip" : ip2});&&&&&&&&&&& } else {&&&&&&&&&&&&&&& map.push({"intranet_ip" : ip2, "internet_ip" : ip});&&&&&&&&&&& }&&&&&&& }&&& }& &&&}
console.log(getLocalIP());
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
nodejs获取本机内网和外网ip地址的实现代码Script
摘要:实现代码:varos=require('os');functiongetLocalIP(){&&&varmap=[];&&&varifaces=os.networkInterfaces();&&&console.log(ifaces);&&&for(vardevinifaces){&&&&&&&nb
实现代码: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(':');&&&&&&&&&&& var dev2 =&&&&&&&&&&& if (tokens.length == 2) {&&&&&&&&&&&&&&& dev2 = 'eth1:' + tokens[1];&&&&&&&&&&& } else if (tokens.length == 1) {&&&&&&&&&&&&&&& dev2 = 'eth1';&&&&&&&&&&& }&&&&&&&&&&& if (null == ifaces[dev2]) {&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&& // 找到eth0和eth1分别的ip&&&&&&&&&&& var ip = null, ip2 =&&&&&&&&&&& ifaces[dev].forEach(function(details) {&&&&&&&&&&&&&&& if (details.family == 'IPv4') {&&&&&&&&&&&&&&&&&&& ip = details.&&&&&&&&&&&&&&& }&&&&&&&&&&& });&&&&&&&&&&& ifaces[dev2].forEach(function(details) {&&&&&&&&&&&&&&& if (details.family == 'IPv4') {&&&&&&&&&&&&&&&&&&& ip2 = details.&&&&&&&&&&&&&&& }&&&&&&&&&&& });&&&&&&&&&&& if (null == ip || null == ip2) {&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&& // 将记录添加到map中去&&&&&&&&&&& if (ip.indexOf('10.') == 0 ||&&&&&&&&&&&&&&& ip.indexOf('172.') == 0 ||&&&&&&&&&&&&&&& ip.indexOf('192.') == 0) {&&&&&&&&&&&&&&& map.push({&intranet_ip& : ip, &internet_ip& : ip2});&&&&&&&&&&& } else {&&&&&&&&&&&&&&& map.push({&intranet_ip& : ip2, &internet_ip& : ip});&&&&&&&&&&& }&&&&&&& }&&& }& &&&}
console.log(getLocalIP());
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
nodejs获取本机内网和外网ip地址的实现代码Script相关信息,包括
的信息,所有nodejs获取本机内网和外网ip地址的实现代码Script相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
InternationalNode.js和PHP根据ip获取地理位置的方法
转载 &更新时间:日 09:07:32 & 作者:
这篇文章主要介绍了Node.js和PHP根据ip获取地理位置的方法,通过新浪接口根据IP地址获取所在城市,需要的朋友可以参考下
一、Node.js实现代码 代码如下:var http = require('http');var util = require('util');/**&* 根据 ip 获取获取地址信息&*/var getIpInfo = function(ip, cb) {&&& var sina_server = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=';&&& var url = sina_server +&&& http.get(url, function(res) {&&&&&&& var code = res.statusC&&&&&&& if (code == 200) {&&&&&&&&&&& res.on('data', function(data) {&&&&&&&&&&&&&&& try {&&&&&&&&&&&&&&&&&&& cb(null, JSON.parse(data));&&&&&&&&&&&&&&& } catch (err) {&&&&&&&&&&&&&&&&&&& cb(err);&&&&&&&&&&&&&&& }&&&&&&&&&&& });&&&&&&& } else {&&&&&&&&&&& cb({ code: code });&&&&&&& }&&& }).on('error', function(e) { cb(e); });};getIpInfo('220.181.111.85', function(err, msg) {&&& console.log('城市: ' + msg.city);&&& console.log('msg: ' + util.inspect(msg, true, 8));})请求结果: 代码如下:城市: 徐州{&&& "ret": 1,&&& "start": "49.68.0.0",&&& "end": "49.68.255.255",&&& "country": "中国",&&& "province": "江苏",&&& "city": "徐州",&&& "district": "",&&& "isp": "电信",&&& "type": "",&&& "desc": ""}二、PHP实现代码 代码如下:&?$ip = "220.181.111.85";$url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip";$data = file_get_contents($url);$result = json_decode($data);echo "城市:" . $result-&city . "&br&";print_r($result);?&请求结果: 代码如下:城市:徐州stdClass Object(&&& [ret] =& 1&&& [start] =& 49.68.0.0&&& [end] =& 49.68.255.255&&& [country] =& 中国&&& [province] =& 江苏&&& [city] =& 徐州&&& [district] =& &&& [isp] =& 电信&&& [type] =& &&& [desc] =&)
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 nodejsmysql 的文章

 

随机推荐