Harmony DoH 接入手册

本文档介绍了阿里云公共DNS 鸿蒙(HarmonyOS)版本DoH的接入和开发方式。在接入过程中遇到问题可以钉钉咨询:behladu

1.概述

阿里云公共DNS面向广大鸿蒙系统开发者提供的基于DOH安全加密协议的DNS域名解析防劫持服务。

开发者利用本DoH方案,可以在自己的鸿蒙APP中轻松接入阿里云公共DNS,解决域名解析异常被劫持问题,同时还能提升域名解析调度精准性、加速域名解析变更在全网的生效速度、降低DNS解析时延。

2.如何设置DoH

进入控制台“接入配置”功能新增加密地址,并使用自定义的DoH加密地址。

image

  • 网络请求中使用方式

通过控制台获取加密DoH服务URL,然后在HTTP请求配置中使用它作为dnsOverHttps参数。

let httpRequest = http.createHttp();
httpRequest.request(
  "https://www.aliyun.com",
  {
    dnsOverHttps: "https://*****-****2cik1m8wysgb.alidns.com/dns-query",
    method: http.RequestMethod.GET, 
    header: [{
      'Content-Type': 'application/json'
    }],
    expectDataType: http.HttpDataType.STRING, 
    usingCache: false,
    priority: 1, 
    connectTimeout: 3000, 
    readTimeout: 3000,
    usingProxy: false, 
  }, (err: BusinessError, data: http.HttpResponse) => {
 
  }
);
  • webview中的使用方式

通过web_webview.WebviewController.setHttpDns方法,设置Webview使用的安全DNS模式为自动,并传入在控制台获取的DOH URL。

web_webview.WebviewController.setHttpDns(web_webview.SecureDnsMode.AUTO, "https://*****-****2cik1m8wysgb.alidns.com/dns-query")