/* nodejs dns(domain name server) 域名服务器学习 */
// 一、环境(需要搭建nodejs环境,到nodejs官网上下载匹配你电脑的nodejs [https://nodejs.org/download/] 具体的搭建方法这里就不详讲了,在百度找找就有 )
// 二、主要学习内容:dns lookup()方法和resolve4()方法的使用
var dns = require('dns'); // 引入相应的模块
/*
1、lookup()方法
lookup(hostname, [options], callback)
[lookup:查找]
hostname主机名 options可选项 callback回调函数
*/
// 示例:
dns.lookup('www.baidu.com', function onLookup(err, address, family) {
console.log('address: ', address); // 输出:address: 61.135.169.121 (百度IP地址)
console.log('family: ', family); // 输出:family:4
console.log('error: ', err); // 输出:error:null
});
/*
2、resolve4()方法
resolve4(hostname, callback)
[resolve:觖决]
hostname主机号 callback回调函数
备注:个人理解resolve4方法主要是针对 TCP/IPv4的协议(仅供参考)
相关:JSON.stringify(value, [replacer], [space]) 将js值转换为js对象表示法(json)字符串 与JSON.parse()相反
value 必需
replacer 可选。用于转换结果的函数或数组
space 可选。向返回值JSON文本添加缩进、空格和换行符以使其更易于读取
示例:
var a = {a: 1, b: 2};
JSON.stringify(a) 输出'{"a":1,"b":2}'
*/
// 示例:
dns.resolve4('www.baidu.com', function (err, addresses) {
if (err) throw err;
console.log('addresses: ' + JSON.stringify(addresses)); // 输出:addresses: ["61.135.169.121", "61.135.169.125"]
});
/*
3、其他方法:(可以参照前两个方法来测试)
dns.resolve(hostname, [rrtype], callback)
dns.resolve6(hostname, callback)
dns.resolveMx(hostname, callback)
dns.resolveTxt(hostname, callback)
dns.resolveSrv(hostname, callback)
dns.resolveSoa(hostname, callback)
dns.resolveNs(hostname, callback)
dns.resolveCname(hostname, callback)
dns.reverse(ip, callback)
dns.getServers()
dns.setServers(servers)
*/
/*
总结:本章只讲解了lookup()和resolve4方法,且理解只是表层的,这里仅供参考使用
如果有更好更多的理解,可以留言以便交流。
谢谢关注!
*/
欢迎关注技术开发分享录:http://fenxianglu.cn/