npm 包 @sagi.io/doh 使用教程

前言

在进行前端开发时,经常遇到需要完成 DNS 解析的任务。然而,浏览器 API 并没有提供 DNS 解析的接口,因此开发者通常需要调用第三方服务或依赖后端接口来实现 DNS 解析。

@sagi.io/doh 包提供了一种更加直接的方式来进行 DNS 解析,它利用 DOH(DNS-over-HTTPS)协议在客户端完成 DNS 解析。

本文将为大家介绍如何使用 @sagi.io/doh 包进行前端 DNS 解析。

安装

@sagi.io/doh 包可以通过 npm 进行安装:

--- ------- ------------

使用方法

要使用 @sagi.io/doh,你需要先创建一个实例。你可以通过传入你想要使用的 DNS 服务器的 URL 来创建一个实例:

----- - ----------- - - ------------------------

----- -------- - --- --------------------------------------------

创建完实例后,你可以调用 resolve 方法来进行 DNS 解析。 resolve 方法接受三个参数:域名、类型和选项。其中,选项参数是可选的。

------------------------------- ---- - -------- ---- --
  ------------ -- --------------------
  ------------ -- ----------------------

上述代码中调用了 resolve 方法,解析了域名 example.com,指定了类型为 A 记录,并且设置了一个 3000 毫秒的超时时间。

示例

接下来,我们来看一个完整的例子,使用 @sagi.io/doh 来进行域名解析并展示解析结果:

----- - ----------- - - ------------------------

----- -------- - --- --------------------------------------------
----- ----------- - ----------------------------------------
----- --------- - --------------------------------------
----- --------- - ----------------------------------

---------------------------------------------------------------- ----- -- -- -
  ----- ------ - -------------------------
  -- --------- -
    -------
  -

  ----- ---- - ---------------------- -- ----

  --- -
    ----- ------ - ----- ------------------------ ----- - -------- ---- ---
    ------------------- - -------- ---------------------------
  - ----- ------- -
    ------------------- - ------- ------------------
  -
---

上述代码中,我们首先创建了一个 DohResolver 实例,然后在页面中获取了要解析的域名和记录类型的输入框以及结果显示区域,接下来添加了一个点击事件监听器。

在事件监听器中,我们首先从输入框中获取域名和类型,然后调用 resolve 方法进行 DNS 解析。如果 DNS 解析成功,我们就在结果区域显示解析结果,否则在结果区域显示错误信息。

总结

@sagi.io/doh 包提供了一种方便的方式来进行前端 DNS 解析,而不需要依赖第三方服务或后端接口。不过需要注意的是,DOH 协议仍处于发展中,并不是所有 DNS 服务器都支持 DOH。因此,在使用 @sagi.io/doh 进行 DNS 解析之前,最好先确认所使用的 DNS 服务器是否支持 DOH 协议。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066b5f51ab1864dac6717e


猜你喜欢

  • npm 包 bar.min.js 使用教程

    npm 是一个面向 Node.js 的包管理器,也是前端常用的包管理工具,它为前端工程师提供了许多优质的第三方库。其中,bar.min.js 是一个非常实用的 npm 包,它能轻松帮你生成柱状图。

    3 年前
  • npm 包 app.min.js 使用教程

    在前端开发中,我们经常会使用各种 npm 包来帮助我们实现一些功能。其中,app.min.js 是一款非常实用的 npm 包,它可以帮助我们快速构建 SPA(Single Page Applicati...

    3 年前
  • npm 包 @hoodie/account 使用教程

    在前端开发中,账户管理是一个非常重要的功能。为实现账户管理,我们常常需要使用一些常用的 npm 包。本篇文章将重点介绍一个常用的 npm 包——@hoodie/account。

    3 年前
  • npm 包 @henrikjoreteg/react-redux 使用教程

    前言 React-Redux 是一个用于在 React 应用程序中使用 Redux 状态管理的库。在 React 应用程序中使用 Redux 状态管理已成为前端开发中的标准做法,因为它可以使应用的状态...

    3 年前
  • npm 包 @hentamine/imp 使用教程

    前言 最近,前端领域出现了越来越多的 npm 包,这些包通过集装箱式的打包和模块化的管理,极大地提高了前端开发的效率和可维护性。今天,我们要介绍的是 @hentamine/imp 这个 npm 包,它...

    3 年前
  • npm 包 @hentamine/lunar 使用教程

    随着中国传统农历的不断普及和应用,越来越多的前端开发者需要在自己的项目中使用农历相关的计算和转换工具。而今天我们要介绍的 @hentamine/lunar 就是一款非常强大的 npm 包,它可以帮助开...

    3 年前
  • npm 包 @hoodie/dev-top-level 使用教程

    前言 Hoodie 是一种基于 Node.js 的开源后端框架,它可以帮助开发者快速搭建自己的后端服务。其中,@hoodie/dev-top-level 是 Hoodie 中的一个非常重要的 npm ...

    3 年前
  • npm 包 @halkeye/atlassian-connect-express-redis 使用教程

    介绍 @halkeye/atlassian-connect-express-redis 是一个基于 Node.js 平台的 Atlassian Connect Express 应用中间件,封装了 Re...

    3 年前
  • npm 包 @hallysonh/microtools 使用教程

    #npm 包 @hallysonh/microtools 使用教程 在日常的前端开发中,我们经常需要使用一些工具来完成一些特定的操作,例如处理日期、字符串、数字等。

    3 年前
  • npm包:@hallysonh/koa-pageable 使用教程

    在开发 web 应用程序时,分页通常是必不可少的功能。分页助手库可以为您提供一种轻松的方式来处理分页。在本篇文章中,我们将介绍 npm 包 @hallysonh/koa-pageable 的使用方法。

    3 年前
  • npm 包 @hallysonh/pageable 使用教程

    随着移动互联网的迅速发展,Web 服务的用户体验逐渐成为用户选择的主要因素之一。作为前端开发者,我们需要提供更加完美的用户体验来吸引用户留住。 而对于页面数据的展示,分页是一个常见的需求,而 @hal...

    3 年前
  • npm 包 application.min.js 使用教程

    前言 在前端开发中,我们经常用到各种第三方插件或库来提高我们的效率及代码品质。而 npm 包就是其中一个非常重要的资源库,可以方便我们快速下载和管理各种第三方库。本篇文章主要介绍 npm 包中一个常用...

    3 年前
  • npm 包 @hoodie/store 使用教程

    前言 Node.js 中的 npm 包管理器为前端开发提供了极大的便利,使得在前端开发过程中使用第三方库和工具变得非常容易。@hoodie/store 是一款非常实用的 npm 包,它可以帮助我们在前...

    3 年前
  • npm 包 @hoodie/server-account-node-sessions 使用教程

    介绍 @hoodie/server-account-node-sessions 是一个 npm 包,它为 Hoodie 的账户系统提供了一种会话验证机制。它使用 Node.js 中的 express-...

    3 年前
  • NPM包 @hoolymama/date-util使用教程

    前言 在前端开发中,处理日期是一个普遍的需求。为了便捷地操作日期数据,我们通常会使用一些辅助库。而今天要介绍的是@hoolymama/date-util这个npm包,该包提供了一组工具函数,可以方便地...

    3 年前
  • npm 包 @hoodie/task-server 使用教程

    在前端开发中,我们经常会遇到需要进行任务调度、异步处理等需求。@hoodie/task-server 是一个基于 Node.js 的轻量级任务调度工具,它允许我们在后台进行任务处理,同时提供了可访问的...

    3 年前
  • npm 包 @hoolymama/bollocks 使用教程

    介绍 @hoolymama/bollocks 是一个前端开发中常用的 npm 包,它可以帮助我们解析一些常见的文本格式,例如:Markdown、HTML、纯文本等,并将其转为 HTML 代码,方便我...

    3 年前
  • npm 包 @hoolymama/gis-util 使用教程

    在前端开发中,GIS技术被广泛应用。而在GIS技术中常常需要处理地图坐标系等相关计算,这时候就可以使用 @hoolymama/gis-util 这个npm包。本文将详细介绍如何使用该npm包。

    3 年前
  • npm 包 @hoolymama/natlang 使用教程

    概述 @hoolymama/natlang 是一个用于自然语言处理的 npm 包。它提供了一系列的工具和功能,帮助开发者能够更加方便地处理和分析自然语言文本数据。 本文将详细介绍该 npm 包的使用方...

    3 年前
  • npm 包 @hoolymama/pomtime 使用教程

    简介 npm 是当前前端最流行的包管理工具之一,而 @hoolymama/pomtime 是一款基于 Node.js 和 npm 的任务时间管理工具。该工具可以帮助开发人员精确地记录任务完成的时间并生...

    3 年前

相关推荐

    暂无文章