DNS模块详解

版权所有,如需转载,请联系作者

DNS模块用于解析IP地址或者域名。 常用方法如下:

  • resolve
  • lookup
  • reverse

resolve

查询某个域名的IP地址,例如

var dns = require("dns");
dns.resolve("www.baidu.com", "A", function(e,r){
    if (e){
        console.log(e);
    }
    console.log(r);
});

结果如下:

[ '14.215.177.37' ]

lookup

resolve()方法通常返回一个包含多个IP地址的列表,如果只想返回一个IP地址,可以使用lookup方法。lookup方法有三个参数:域名,IP类型(4或6)和回调函数。

var dns = require("dns");
dns.loopup("www.baidu.com", 4, function(e,r){
    if (e){
        console.log(e);
    }
    console.log(r);
});
// 返回14.215.177.38

reverse

反向解析IP地址,获取域名数组

var dns = require('dns');

dns.lookup('www.github.com', function onLookup(err, address, family) {
   console.log('ip 地址:', address);
   dns.reverse(address, function (err, hostnames) {
   if (err) {
      console.log(err.stack);
   }

   console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames));
});  
});

结果如下:

address: 192.30.252.130
reverse for 192.30.252.130: ["github.com"]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏友弟技术工作室

bash及其特性

13930
来自专栏Golang语言社区

Go语言并发模型:以并行处理MD5为例

简介 Go语言的并发原语允许开发者以类似于 Unix Pipe 的方式构建数据流水线 (data pipelines),数据流水线能够高效地利用 I/O和多核 ...

48260
来自专栏技术小站

搞定python多线程和多进程

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条...

11410
来自专栏Laoqi's Linux运维专列

python3–文件操作

520100
来自专栏贾老师の博客

常用 Bash Shell 整理

11640
来自专栏idba

获取没有设置TTL的key

在运维Redis的时候,总会遇到使用不规范的业务设计,比如没有对key设置ttl,进而导致内存空间吃紧,通常的解决方法是在slave上dump 出来所有的k...

10620
来自专栏GreenLeaves

WCF系列教程之WCF服务协定

本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一、服务协定简介: 1...

19270
来自专栏码生

python 中文处理方法

python 中如果没有指定编码方式的话,那么默认支持的是ASCII码,如果出现中文则会报错,即便中文是注释也不行

12610
来自专栏木头编程 - moTzxx

微信小程序Ⅶ [外部文件引用的注意点]

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

25430
来自专栏北京马哥教育

linux实用技巧:你该使用ctags查找源码了

linux实用技巧:你该使用ctags查找源码了 ---- 1.ctags简介: “哦,这个多的文件,我该如何去查看XX函数的实现!”相信...

34760

扫码关注云+社区

领取腾讯云代金券