Skip to content

lovewillover/HTTPDNSLib-for-iOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTTPDNSLib-for-iOS

DNSCache库使用说明书 感谢新浪研发中心技术保障部移动端保障团队。 源码链接:https://github.com/SinaMSRE/HTTPDNSLib-for-iOS.git

此项目修改自微博的HTTPDNS源码. 主要更换HTTPDNS服务为DNSPOD企业版~。去掉自动上传LOG,和Config下载。 保留原有的Cache,DB,ip择优等核心业务。

相关机制链接:

http://www.360doc.com/content/15/1016/07/2909773_505968464.shtml

安装:

pod 'HTTPDNSLib-for-iOS', :git => 'https://github.com/lovewillover/HTTPDNSLib-for-iOS.git'

在AppDelegate里(也就是尽可能早的时候)初始化 WBDNSCache库。

[WBDNSCache setAppID:@"DNSPOD_ID" appkey:@"DNSPOD_KEY"];

初始化库,期间会从参数服务器请求配置参数 [[WBDNSCache sharedInstance] initialize];

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

然后就可以在任何地方调用 [[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"];

About

HttpDNS lib 库 iOS版本。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Objective-C 96.3%
  • Ruby 3.7%