gpt4 book ai didi

iphone - 从存储在服务器上的 XML 文件中检索数据并加载 iPhone

转载 作者:行者123 更新时间:2023-11-28 22:25:54 25 4
gpt4 key购买 nike

我正在开发一款播放广播电台的应用。广播电台的链接存储在服务器上,并通过后端解决方案添加。

电台的所有信息,例如:名称、频率,当然还有流媒体链接,均由后端生成并存储在 XML 文件中。这是我的第一个项目,所以我不清楚如何下载该文件,该文件存储在受密码保护的目录中。

我必须通过 sftp 或 https 下载吗?有人知道如何执行此任务吗?

如有任何帮助,我们将不胜感激。

提前谢谢你。

花岗岩

最佳答案

你可以使用 NSURLConnection,一个很好的实现 here .做自己想做的事,简单明了

NSData *responseData =  [NSData dataWithContentsOfURL:url];

这是异步发生的,即非阻塞调用

 dispatch_async(queue, ^{

NSData *responseData = [NSData dataWithContentsOfURL:url];

dispatch_sync(dispatch_get_main_queue(), ^{

// handle your responesData here.
//convert data to nsstring or something then use a parser to parse details.
});
});

在这里寻找 XML Parsing

对于基本身份验证,试试这个

NSURL *URL = [NSURL URLWithString:url];
NSURLRequest *request = [NSURLRequest requestWithURL:URL
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:30.0];

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection start];
[connection release];

// NSURLConnection Delegates
- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{ if ([challenge previousFailureCount] == 0) {
NSLog(@"received authentication challenge");
NSURLCredential *newCredential = [NSURLCredential credentialWithUser:@"USER"
password:@"PASSWORD"
persistence:NSURLCredentialPersistenceForSession];
NSLog(@"credential created");
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
NSLog(@"responded to authentication challenge");
}
else {
NSLog(@"previous authentication failure");
}
}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
...
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
...
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
...
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
...
}

在 willSendRequestForAuthenticationChallenge 方法中提供您的凭据,或者如果您想要更好的实现,请参阅 this ,它是一个同步的 NSURLConnection 子类 imp,它也处理身份验证。

关于iphone - 从存储在服务器上的 XML 文件中检索数据并加载 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19027212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com