2017-02-13 52 views
1

非HTTP URL數據我正在開發一個應用程序,獲取RSS從網站訂閱和URL具有以下形式:如何從iOS上

feed://feeds.<a_site_name>.org/... 

因爲它不是一個HTTP協議,當我使用NSURLConnection和NSUrlRequest獲取數據時,它總是返回零數據。

NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:feedURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60];  

NSOperationQueue *aqueue = [[[NSOperationQueue alloc] init] autorelease]; 
[NSURLConnection sendAsynchronousRequest:request queue:aqueue completionHandler:^(NSURLResponse *response, NSData *resultJsonData, NSError *error) 
     { 

     }]; 

我用ASIHttpRequest第三方庫來獲得,它的工作原理,但我不想在這裏使用第三方庫。

我可以使用任何給定的iOS框架或任何簡單的代碼來獲取?

回答

0

A feed:// URL實際上只是一個HTTP或HTTPS URL,但打算由知道如何處理RSS提要的應用讀取。解決此問題的方法是將URL方案更改爲http(如果可能,則爲https)。例如:

NSURLComponents *components = [NSURLComponents componentsWithURL:feedURL 
             resolvingAgainstBaseURL:YES]; 
components.scheme = @"https"; 
feedURL = [components URL]; 

然後嘗試URL,如果失敗,改變計劃,HTTP,然後再試一次。