4. 使用建议

4.1 HTTPDNS解析结果的使用方式

  • 使用HTTPDNS解析结果的ip,对待请求URL中的域名进行替换

  • 设置http请求header中的host字段,在该字段中指定待请求域名

  • 当HTTPDNS获取解析结果失败时,使用原有URL发起请求,此种情况下的请求默认会使用DNS解析

  • 具体实现可参考BDHttpDnsSDKDemo的Android工程

4.2 HTTPS证书校验

  • 当客户端使用HTTPDNS解析域名时,请求URL中的host会被替换成IP,这种情况下常见的网络处理框架(如HttpsURLConnection)在处理证书验证时会出现domain不匹配的情况,此时需要使用请求原有的域名进行证书校验。

  • 对于HttpsURLConnection,可使用HttpsURLConnection::setHostnameVerifier方法完成指定域名的证书校验,详情可参考BDHttpDnsSDKDemo的Android工程。

4.3 使用多IP结果

  • 对于某些域名有多IP解析结果的情况,建议用户优先使用第一个接口进行请求

  • 对于请求失败需要重试的情况,建议:

    • 按顺序依次使用多IP解析结果中的IP进行重试

4.4 代理场景

  • 在代理场景下建议关闭HTTPDNS功能