全部產品
Search
文件中心

HTTPDNS:用戶端接入概述

更新時間:Dec 04, 2025

本文主要介紹了用戶端接入 HTTPDNS 的基本原理和主要步驟說明。

1. 前言

HTTPDNS 是一種端側 DNS 解決方案,可替代傳統 Local DNS,避免出現網域名稱劫持、解析延遲、失敗率高以及調度不精準等問題,為移動終端提供更穩定、更快速、更安全的解析能力。接入 HTTPDNS 總共包括以下幾個主要步驟:

  1. 開通服務

  2. 添加網域名稱到解析列表

  3. 擷取開發配置

  4. 擷取解析 IP

  5. 應用解析結果到網路程式庫

  6. 接入成功驗證

說明

如果您使用了軟體自訂解析實現業務調度,還需要配置自訂解析策略,參考自訂解析

其中,前三步屬於控制台操作,如果您還沒完成對應操作,可以參考產品使用流程。後三步屬於用戶端接入流程。本文主要介紹 用戶端接入流程,在展開之前,我們先瞭解下 DNS 解析器。

2. DNS解析器

DNS 解析器是一種負責接收使用者網域名稱查詢請求,並返回對應 IP 位址的網路服務組件。當 App 用戶端 發起網路請求時,通常會先調用其內部整合的 網路程式庫(如 NSURLSessionOkHttplibcurl 等)。網路程式庫在建立串連前,會通過 DNS 解析器將目標網域名稱解析為 IP 位址,以便後續完成 TCP/UDP 串連。DNS 解析器可以分為兩類:

  • 系統 DNS 解析器:由作業系統提供並維護的網域名稱解析組件(庫或系統服務)。應用通過統一 API 呼叫(如 POSIX getaddrinfo()、Windows DnsQuery()、Apple Network.framework 等)觸發系統解析器完成網域名稱解析。系統解析器會依據當前網路設定(如本地 hosts 檔案、DNS 緩衝、網路介面卡配置)發起查詢,最終向遞迴 DNS 伺服器請求解析結果。這些遞迴 DNS 伺服器通常由 DHCP 自動下發的電訊廠商 DNS,或者使用者手動設定的公用 DNS(如 8.8.8.8、1.1.X.X)提供服務,並返回對應的 IP 位址。

  • 自訂 DNS 解析器:由應用或第三方庫實現的、部分或完全繞過系統解析器的解析邏輯。應用可直接繞過電訊廠商下發的遞迴 DNS,改為訪問指定的解析服務(如 HTTPDNS 伺服器),擷取權威解析結果IP。常見方式包括:應用接管網路程式庫的 DNS 介面(如 OkHttp 的 Dns 介面、libcurl 的 resolve 機制),在應用程式層直接注入解析結果;或者通過代理方式接管請求流量,在代理層完成 DNS Hook 與網域名稱到 IP 的映射,從而實現定製化的網域名稱解析與串連調度。

用戶端接入 HTTPDNS 的過程,就是基於 HTTPDNS 服務實現自訂 DNS 解析器的過程,下圖以一個 HTTP 要求為例,示範用戶端如何通過自訂 DNS 解析器 或 DoH 協議,將 HTTPDNS 服務端返回的解析結果應用到網路程式庫中,確保網路請求使用最優 IP 建立串連。

image

3. 接入流程

在開通服務和在控制台添加網域名稱到解析網域名稱列表後,就可以通過HTTPDNS實現自訂 DNS 解析器,主要包含三個核心步驟:

  • 擷取解析 IP :訪問 HTTPDNS 服務端擷取網域名稱對應的 IP 位址

  • 應用解析結果 :將擷取的 IP 位址注入到網路程式庫的請求中

  • 接入成功驗證:通過日誌、網路抓包等方式確認以上兩步生效

3.1 擷取解析IP

您可以通過 SDK、HTTP API 和 DoH 三種方式從 HTTPDNS 服務端擷取網域名稱解析結果:

在絕大多數情境下,推薦優先選擇 SDK 方案。

3.2 應用解析結果

擷取解析 IP 之後,您需要把該 IP 應用到網路請求的 DNS 解析環節,應用方案取決於您所使用的網路程式庫是否支援自訂 DNS 解析。如果網路程式庫提供 DNS Hook 或網域名稱映射介面,可直接注入解析結果;若未提供,則需通過 IP 直連、協議替換或本地代理等方式進行適配。本文檔同時列出了常用網路程式庫和架構的適配方案,供參考。

說明

Socket.io、HttpClient、Glide、SwiftNIO、Libcurl 等其他網路程式庫或架構的適配方案,請聯絡支援人員諮詢。

3.3 接入成功驗證

用戶端接入 HTTPDNS 後,建議通過以下兩種方式進行驗證以上兩個步驟是否接入成功:

  1. 日誌驗證(推薦)

    • 方式:在用戶端埋點列印,從 HTTPDNS API 擷取的解析 IP 列表和實際業務請求是否正常發起。

    • 特點:該方式實現簡單、輕量級,適合絕大多數情境。

  • 劫持類比

    • 通過將手機WIFI網路的 DNS 伺服器設定為一個無效地址,觀察業務請求是否依然能夠正常發起,以此判斷HTTPDNS是否接入成功。

    • 特點:該方式能夠有效屏蔽系統 DNS 幹擾,更加準確。


4. 總結

接入 HTTPDNS 的本質是基於 HTTPDNS 構建自訂 DNS 解析器。本文簡要介紹了擷取解析 IP、應用到網路程式庫以及接入驗證三個核心步驟。更多接入細節、 API 說明和注意事項,請參見對應接入方式的使用者手冊: