【发布时间】:2014-02-26 19:33:24
【问题描述】:
我有一个应用程序,其数据来自具有基本身份验证的 AFNetworking 请求。我有一个刷新按钮来执行与最初提供数据相同的功能。这一切都有效,但几分钟后就不行了。
我的代码:
- (void) refreshData
{
// Show loading
NSLog(@"Refreshing...");
[LoadingView initInView:self.view];
// Get session data for auth key
SessionHelper *session = [SessionHelper sharedInstance];
// Setup request
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
[manager.requestSerializer clearAuthorizationHeader];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:session.authKey password:@""];
NSString *url = @"https://myurl.com/getdata";
[manager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
self.data = [[NSMutableArray alloc] init];
[self.data addObjectsFromArray:responseObject];
[self.tableView reloadData];
[LoadingView remove];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", [error description]);
[operation cancel];
}];
}
一开始可以反复正常工作,但几分钟后它会随着加载屏幕(来自 LoadingView)而挂起并出现错误:
Error: Error Domain=NSURLErrorDomain Code=-1012 "操作 无法完成。 (NSURLErrorDomain 错误 -1012。)” UserInfo=0x8a5ed20 {NSErrorFailingURLKey=https://myurl.com/getdata, NSErrorFailingURLStringKey=https://myurl.com/getdata}
我想也许我需要做 clearAuthorizationHeader 什么的,但是不行。有任何想法吗?谢谢!
更新:在错误消息中记录 operation.response.statusCode 给我0。
更新 2:使用 AFNetworkActivityLogger 在它开始失败后给了我这个:
2014-02-26 13:23:02.206 MyApp iPad[4087:60b] 获取'https://myurl.com/getdata' 2014-02-26 13:23:02.646 MyApp iPad [4087:60b] [错误] GET '(null)' (0) [0.4332 s]:错误 Domain=NSURLErrorDomain Code=-1012 "无法执行该操作 完全的。 (NSURLErrorDomain 错误 -1012。)“UserInfo=0x17d9a990 {NSErrorFailingURLKey=https://myurl.com/getdata, NSErrorFailingURLStringKey=https://myurl.com/getdata} 2014-02-26 13:23:02.648 MyApp iPad[4087:60b] 错误:错误域 = NSURLErrorDomain Code=-1012 "操作无法完成。(NSURLErrorDomain 错误 -1012.)" 用户信息 = 0x17d9a990 {NSErrorFailingURLKey=https://myurl.com/getdata, NSErrorFailingURLStringKey=https://myurl.com/getdata},状态码:0
似乎 URL 被发送为 (null)...
【问题讨论】:
标签: ios afnetworking