SEARU.ORG
当前位置:SEARU.ORG > Linux 软件 > 正文

HTTPDNSLib 的 iOS 版本 HTTPDNSLib-for-iOS

HTTPDNSLib-for-iOS 是 HttpDNS lib 库 iOS版本。

DNSCache 库使用说明书

  1. 导入LibDnsCache.a, WBDNSCache.h. (如果愿意,也可以将DNSCache整个工程导入)

  2. 在Targets-》Build Phases-》LinkBinaryWithLibraries 加入libDNSCache.a.
    httpDNSLib依赖libsqlite3.dylib, SystemConfiguration.framework,
    CoreTelephony.framework. 请同时加入以上依赖库。

  3. 确定Targets-》BuildingSetting-》SearchPaths-》Library Search Path 可以搜索到正确的库文件。
    注意,库分为模拟器版本和真机版本,请确定自己导入的是正确的版本,或者库路径查找 能首先查到正确的版本,有时候能找到两个版本,系统会已第一个找到的版本为准,导致link错误。

4。建议在AppDelegate里(也就是尽可能早的时候)初始化 WBDNSCache库。
设置AppKey和版本,用于请求对应版本的配置参数
以下只是一个示例,如果需要从sina服务器拉取配置,需要申请自己的AppKey,否则请手动修改代码获取自己的配置。
[WBDNSCache setAppkey:@”ed3e6e90975f52876cd9d74a8e9e05d8″ version:@”0.1″];
设置配置参数服务器的URL
[WBDNSCache setConfigServerUrl:@”http://api.weibo.cn/2/httpdns/config”];
初始化库,期间会从参数服务器请求配置参数
[[WBDNSCache sharedInstance] initialize];

5.建议初始化后延时调用 预请求域名对应IP,提前从服务器拉取域名对应IP
[[WBDNSCache sharedInstance]preloadDomains:@[@”http://ww4.sinaimg.cn”, @”http://api.weibo.cn/”]];

6.然后就可以在任何地方调用
[[WBDNSCache sharedInstance] getDomainServerIpFromURL:url]
获取转换后Url 和 需要设置的host值。
这个函数拿到的是一个WBDNSDomainInfo 对象数组,一般来说 取第一个就可以了。
WBDNSDomainInfo.id 暂时没用。
WBDNSDomainInfo.url 已经替换好的URL, 客户端可以直接用它 请求资源。
WBDNSDomainInfo.host 客户端需要将这个host设置到HTTP的请求头里。 如果Host为@“” 代表不需要设置Host
以AFNetworking举例
[manager.requestSerializer setValue:WBDNSDomainInfo.host forHTTPHeaderField:@”Host”];

未经允许不得转载:SEARU.ORG » HTTPDNSLib 的 iOS 版本 HTTPDNSLib-for-iOS

赞 (0)
分享到:更多 ()

评论 0