2017-02-13 13 views
1

에 HTTP가 아닌 URL에서 데이터를 얻는 방법 : 그것은 그래서 HTTP 프로토콜 아니므로나는 RSS는 웹 사이트에서 피드의 URL은 다음과 같은 형태가 취득하는 응용 프로그램 개발하고 있어요 아이폰 OS

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

을 NSURLConnection과 NSUrlRequest를 사용하여 데이터를 가져올 때 항상 nil 데이터를 반환합니다.

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

feed:// URL은 실제로는 HTTP 또는 HTTPS URL이지만 RSS 피드 처리 방법을 알고있는 앱에서 읽도록되어 있습니다. 이 문제를 해결하는 방법은 URL 체계를 http (가능하면 https)으로 변경하는 것입니다. 예를 들어 :

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

그런 다음 해당 URL을 시도하고 실패하면, HTTP에 대한 계획을 변경하고 다시 시도하십시오.