HttpDNS lib 庫 iOS版本

jopen 9年前發布 | 22K 次閱讀 HttpDNS iOS開發 移動開發

HTTPDNSLib-for-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"];

項目主頁:http://www.baiduhome.net/lib/view/home/1448280480938

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!