3.-解析接口
更新时间:2019-06-14
3.1 解析接口的返回值类型
- 说明:使用BDHttpDnsResult类型对解析结果进行封装
- 属性:
1.@property (readonly) NSInteger status;
-
说明:域名解析结果的状态码,可能取值为:
状态码取值 说明 BDHttpDnsStatusOK 解析成功 BDHttpDnsStatusErrCacheMiss 由于cache未命中导致的解析失败,仅在解析时指定cache only标志时有效 BDHttpDnsStatusErrDnsResolve dns解析失败
2.@property (readonly) NSInteger type;
-
说明:域名解析结果的来源,可能取值为:
解析来源类型取值 说明 BDHttpDnsResolveNone 没有有效的解析结果 BDHttpDnsResolveFromHttpDnsCache 解析结果来自httpdns cache BDHttpDnsResolveFromHttpDnsExpiredCache 解析结果来自过期的httpdns cache BDHttpDnsResolveFromDnsCache 解析结果来自dns cache BDHttpDnsResolveFromDns 解析结果来自dns解析
3.@property (nullable, readonly, copy) NSArray *ipv4List;
- 说明:IPv4类型的域名解析结果列表,可能为nil
4.@property (nullable, readonly, copy) NSArray *ipv6List;
- 说明:IPv6类型的域名解析结果列表,可能为nil
3.2 同步域名解析接口
- 接口形式:- (BDHttpDnsResult*)syncResolve:(NSString *)host cacheOnly:(BOOL)cacheOnly;
-
参数:
- (NSString *)host:待解析域名
-
(BOOL)cacheOnly:是否仅使用HTTPDNS cache
- 为True时,若HTTPDNS cache未命中,则接口返回空结果,此时接口表现为同步非阻塞接口
- 为False时,若HTTPDNS cache未命中,则SDK继续进行DNS解析,此时接口表现为同步阻塞接口
-
返回值:
- 使用 BDHttpDnsResult封装的解析结果
3.3 异步域名解析接口
- 接口形式:- (void)asyncResolve:(NSString *)host completionHandler:(void (^)(BDHttpDnsResult*))completionHandler;
-
参数:
- (NSString *)host:待解析域名
- (void (^)(BDHttpDnsResult*))completionHandler:异步解析回调函数,参数为使用 BDHttpDnsResult封装的解析结果