在完成Android SDK接入后,您可以利用 HTTPDNS 的自定义解析功能,将业务域名解析到无效 IP,以验证接入是否已成功生效。本文将提供具体的测试方法与步骤。
验证原理
HTTPDNS 通过 HTTP 或 HTTPS 协议直接向阿里云 DNS 服务器发起解析请求,绕过系统 Local DNS,避免因网络环境导致的解析失败。
错误注入测试依赖于 HTTPDNS 提供的 “自定义解析” 功能。通过将目标业务域名的解析结果设置为一个无效 IP 地址,可以人为注入一个可控的解析错误。在错误注入的环境下发起网络请求时:
请求成功:仍依赖 Local DNS 进行解析,返回正常 IP,HTTPDNS 接入失败。
请求失败:使用了 HTTPDNS 返回的无效 IP,HTTPDNS 接入成功。
测试准备
测试设备:安卓手机或模拟器,可联网
App 状态:已集成 EMAS HTTPDNS SDK
测试域名:已在阿里云 HTTPDNS 控制台配置并正常解析的业务域名
测试步骤
步骤 1:正常网络验证
将测试设备连接至任意可用 Wi‑Fi 网络,保持默认 DNS 设置。

在关闭 HTTPDNS 的情况下,打开 App,触发任意一个通过域名访问的网络请求(如首页加载、接口调用)。
确认请求返回正常。
此步骤用于建立对比基准,确保 App 和服务在正常网络环境下工作正常
步骤 2:错误注入(自定义解析)
步骤 3:在“错误注入”环境下进行验证
开启 HTTPDNS,在测试设备上启动应用。
触发与步骤 1 相同的业务请求(例如首页加载或接口调用)。
观察请求结果:
请求结果
结论
示例
网络请求失败
域名解析由 HTTPDNS 完成,返回了无效 IP,导致网络请求失败,说明 HTTPDNS 接入成功

网络请求成功
首次请求成功,可能存在缓存缺失降级到 Local DNS 的情况,稍等后重试
若多次请求均成功,说明仍依赖 Local DNS 解析,未走 HTTPDNS 路径,因而返回正常 IP 并完成请求,HTTPDNS 接入失败
说明在使用同步非阻塞接口进行域名解析时,建议开启预解析setPreResolveHosts和允许过期接口setEnableExpiredIp,以确保本地缓存中有可用解析结果,避免因缓存缺失而回退到 Local DNS,从而影响验证准确性。

