全部产品

偏好设置接口

HTTPDNS本地日志接口

本地日志Log开关,上线时建议关闭。

接口定义

- (void)setLogEnabled:(BOOL)enable;

参数说明

参数

类型

是否必填

说明

enable

BOOL

日志开关

设置日志输出回调

注意

SDK V1.6.20及以上版本支持。

接口定义

- (void)setLogHandler:(id<HttpdnsLoggerProtocol>)logHandler;

参数说明

参数

类型

是否必填

说明

logHandler

id<HttpdnsLoggerProtocol>

设置日志输出回调

设置域名解析请求类型

设置HTTPDNS域名解析请求的类型,若不调用该接口,默认为HTTP请求。

说明

HTTP请求基于底层CFNetwork实现,不受ATS限制。

接口定义

- (void)setHTTPSRequestEnabled:(BOOL)enable;

参数说明

参数

类型

是否必填

说明

enable

BOOL

YES:HTTPS请求

NO:HTTP请求

设置持久化缓存功能

该功能旨在提升首屏加载速度,但持久化缓存会将上一次解析到的结果保存到本地持久层,App重启后,如果启动持久化缓存会优先从持久层挤在解析结果。所以存在第一次适用的IP为过期IP(TTL过期,大多数情况下该IP依然可以正常使用)的可能性。如果业务服务器IP变化比较频繁,建议谨慎接入该功能,以免对业务造成影响。另外,持久化缓存仅影响第一次域名解析结果,后续解析仍会请求HTTPDNS服务器,并更新本地缓存。

开启后,每次网络解析记录,会更新到本地缓存,App重启后,首先加载本地缓存到内存中。

接口定义

- (void)setCachedIPEnabled:(BOOL)enable;

参数说明

参数

类型

是否必填

说明

enable

BOOL

True:开启

False:关闭

预解析接口

选择性的预先向HTTPDNS SDK中注册您后续可能会使用到的域名,以便SDK提前解析,减少后续解析域名时请求的时延。

接口定义

- (void)setPreResolveHosts:(NSArray *)hosts;

参数说明

参数

类型

是否必填

说明

hosts

NSArray

预解析域名列表

高级预解析

支持IPv4、IPv6组合的预解析方法

说明

若要开启IPv6预解析,需要提前打开IPv6开关

接口定义

 - (void)setPreResolveHosts:(NSArray *)hosts queryIPType:(AlicloudHttpDNS_IPType)ipType;

参数说明

参数

类型

是否必填

说明

hosts

NSArray

预解析域名列表

ipType

AlicloudHttpDNS_IPType

AlicloudHttpDNS_IPTypeV4 (IPv4)

AlicloudHttpDNS_IPTypeV6 (IPv6)

AlicloudHttpDNS_IPTypeV64 (IPv4 + IPv6)

是否允许HTTPDNS返回TTL过期域名的IP

设置是否允许HTTPDNS返回TTL过期的域名,建议允许(默认不允许)。

说明

  • 当您允许HTTPDNS返回TTL过期的IP时,SDK在实时返回过期IP的同时依然会进行异步更新以获取最新的IP信息。

  • 当您不允许HTTPDNS返回TTL过期的IP时,举例说明:已有某个域名的缓存,IP的TTL时间为60s,60s内调用getIpByHostAsync等异步解析接口可以拿到缓存结果;但是在60s之后,首次调用getIpByHostAsync等异步解析接口会直接返回null并且进行异步域名解析更新缓存。

接口定义

- (void)setExpiredIPEnabled:(BOOL)enable;

参数说明

参数

类型

是否必填

说明

enable

BOOL

是否返回TTL过期域名

网络切换自动刷新

设置网络切换时是否自动刷新所有域名解析结果,如果打开此开关,在网络切换时,会自动刷新所有域名的解析结果,但会产生一定流量消耗。

注意

WiFi、蜂窝、无网这三个状态的切换算网络切换;4G与3G切换不算网络切换、SIM卡切换也不会单独处理。

接口定义

- (void)setPreResolveAfterNetworkChanged:(BOOL)enable;

参数说明

参数

类型

是否必填

说明

enable

BOOL

如果设置为 YES,那么网络切换时就会刷新缓存中的所有域名。

如果不设置,那么网络切换时 SDK 仅仅会删除所有域名的缓存,只有当下次访问域名时,才会去重新解析。

设置网络请求的超时时间

设置网络请求的超时时间,默认为15s。

接口定义

- (void)setTimeoutInterval:(NSTimeInterval)timeoutInterval;

参数说明

参数

类型

是否必填

说明

timeoutInterval

NSTimeInterval

单位是毫秒(ms)

代码示例

设置region节点

设置region节点,调用后,会按照region更新服务IP。

注意

  • SDK V1.18及以上版本支持。

  • 调用时,与上次设置region一样或者5分钟内重复设置不同的region时,不会进行服务IP的更新。

接口定义

- (void)setRegion:(NSString *)region;

参数说明

参数

类型

是否必填

说明

region

NSString

region为节点,设置海外region