Привет, ребята, я новичок в области Objective-C и еще новичок в программировании интернет-соединений. Я пытаюсь работать над приложением для чтения RSS, и мне удалось настроить достойный NSXMLParser и тому подобное для анализа XML-каналов. Затем я хотел добавить возможность привязки к Google Reader. Я могу подключиться, аутентифицироваться, а затем запросить со страницы, но то, что он возвращает при моем подключении, - это прямой html-код для сайта, а не XML фида, как я надеялся ... Мой вопрос: как мне получить XML-данные из фида от гугл-ридера? Вот мой код:
NSMutableURLRequest* request=[NSMutableURLRequest requestWithURL:URL];
[request setValue:[authCodes objectForKey:@"Auth"] forHTTPHeaderField:@"Auth"];
[request setValue:[authCodes objectForKey:@"SID"] forHTTPHeaderField:@"SID"];
//[request setHTTPMethod:@"GET"];
NSURLConnection* conn=[NSURLConnection connectionWithRequest:request delegate:self];
[conn start];
И затем два метода делегата:
-(void)connection: (NSURLConnection *)connection didReceiveData:(NSData *)data
{
if (connectionData==nil) {
connectionData=[[NSMutableData alloc] init ];
}
NSLog(@"CONNECTION");
[connectionData appendData:data];
}
-(void) connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"Connection Closed");
NSString *tempString = [[NSString alloc] initWithData:connectionData encoding:NSASCIIStringEncoding];
NSLog(@"The Data is Equal To: %@", tempString);
rssParser=[[NSXMLParser alloc] initWithData:connectionData];
[rssParser setDelegate:self];
[rssParser setShouldProcessNamespaces:YES];
[rssParser setShouldReportNamespacePrefixes:YES];
[rssParser setShouldResolveExternalEntities:NO];
[rssParser parse];
}
Затем он продолжает анализировать и, очевидно, выдает мне ошибку, говоря, что он не знает, как его анализировать. (код ошибки 76)
Это URL-адрес, к которому я пытаюсь подключиться: http://www.google.com/reader/view/feed/http%3A%2F%2Fnews.cnet.com%2F2547-1_3-0-20.xml а>
и вот то, что он распечатывает по мере получения данных ... шучу, когда я помещаю его туда. Stack Overflow проанализировал его как HTML и отобразил как таковой ...
Я знаю, что это не ошибка аутентификации, и действительно не понимаю, где взять каналы. Я получаю с неправильного URL-адреса? Если я знаю, что это не синтаксический анализатор, так как он отлично разбирает исходный канал cnet, а также любой другой прямо с их сайта.