文档

HTTPDNS的移动端SDK获取解析时返回结果为空

更新时间:

问题描述

使用HTTPDNS的移动端SDK时,返回的域名解析IP地址为空。

问题原因

可能导致此问题的原因如下:

  • HTTPDNS控制台中未添加需要解析的域名。
  • 在未启用软件定义解析功能时,未添加正确的DNS域名解析。
    说明:未启用软件定义解析功能时,HTTPDNS相当于递归DNS服务器,HTTPDNS服务端会从权威DNS服务器中获取域名的解析地址,并返回给客户端。如果您未设置正确的DNS域名解析,HTTPDNS服务端将无法获取到解析记录,最终返回空。
  • 移动端代码中未启用预解析接口,并且初次调用异步请求接口获取解析,此时返回为空属于正常情况。因为异步请求需要延迟一段时间,再次调用才能获取到IP地址。
    说明:预解析接口将提前获取解析,减少后续解析域名时请求的时延。未启用该接口时,将异步请求HTTPDNS接口获取解析,因此存在延迟。
  • 移动端代码中启用了预解析接口,但是预解析列表中的域名与HTTPDNS控制台中的域名不一致,导致解析失败。
  • 移动端代码中未开启鉴权,同时HTTPDNS控制台里未启用非鉴权接口访问权限,导致无权限访问HTTPDNS的接口。
  • TTL较短,缓存的IP过期,导致返回的结果为空。该问题属于正常情况,再次调用即可获取到最新的IP地址。
  • 移动端SDK集成时存在配置错误。

解决方案

请参考下列步骤进行排查:

步骤一:通过控制台中的免费在线体验工具进行测试

  1. 登录HTTPDNS控制台
  2. 在左侧导航栏单击免费在线体验,输入您需要解析的域名,检查是否有返回结果。
    • 无返回结果
      请在您的域名管理平台,对域名添加解析记录,确保免费在线体验工具可以返回域名的解析地址。
    • 有返回结果
      请继续下一步排查。

步骤二:检查控制台中的域名列表

  1. 登录HTTPDNS控制台
  2. 在左侧导航栏单击域名列表,检查您需要解析的域名是否在域名列表中。
    • 不存在
      请单击添加域名,输入您需要解析的域名,单击确认。更多有关如何添加域名的信息,请参见域名管理
    • 存在
      请继续下一步排查。

步骤三:检查代码是否启用预解析接口

检查移动端代码中是否启用了预解析接口:

  • 未启用
    建议您启用该接口,以便提前获取解析,减少后续解析域名时请求的时延。关于该接口的使用方法,请参见偏好设置接口中的预解析接口章节。
  • 已启用
    检查预解析域名列表中配置的域名是否与控制台中已经添加的域名一致。如果不一致,请进行添加或者修改。如果一致,请继续下一步检查。

步骤四:检查代码是否启用鉴权

检查移动端代码中是否启用了鉴权接口:

  • 未启用
    请确认在HTTPDNS控制台开启了非鉴权接口访问权限,然后重试。
    说明:推荐您启用鉴权接口,以增加安全性。启用鉴权接口后,请关闭非鉴权接口访问权限
  • 已启用
    确保鉴权接口中的secretKey准确无误,然后继续下一步检查。

步骤五:通过官方Demo进行对比测试

请使用官方Demo进行对比测试,如果官方Demo可以正常获取解析地址,请检查您在集成移动端SDK时的配置。

相关文档

适用于

  • HTTPDNS
  • 本页导读 (0)
文档反馈