4.使用建议
更新时间:2019-06-19
4.1 HTTPDNS解析结果的使用方式
- 使用HTTPDNS解析结果的ip,对待请求URL中的域名进行替换
- 设置HTTP请求header中的host字段,在该字段中指定待请求域名
- 当HTTPDNS获取解析结果失败时,使用原有URL发起请求,此种情况下的请求默认会使用DNS解析
- 具体实现可参考BDHttpDnsSDKDemo-ios工程
4.2 HTTPS证书校验
- 当客户端使用HTTPDNS解析域名时,请求URL中的host会被替换成IP,这种情况下常见的网络处理框架(如NSURLSession)在处理证书验证时会出现domain不匹配的情况,此时需要使用请求原有的域名进行证书校验。
- 对于NSURLSession,可使用URLSession:task:didReceiveChallenge:completionHandler完成指定域名的证书校验,详情可参考BDHttpDnsSDKDemo-ios工程。
4.3 使用多IP结果
- 对于某些域名有多IP解析结果的情况,建议用户优先使用第一个接口进行请求
-
对于请求失败需要重试的情况,建议:
- 按顺序依次使用多IP解析结果中的IP进行重试
4.4 使用IPv6结果
- 对于解析返回IPv6结果的情况,推荐用户用先使用IPv6结果进行请求
-
使用IPv6结果替换URL中的host时,要在IPv6 literal前后添加”[]”符号
- 举例: https:// [2001:db8:c000:221::]/path?para=1
4.5 代理场景
- 在代理场景下建议关闭HTTPDNS功能