我有这个代码:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSDictionary *parameters = @{@"client_id": some index};
[manager GET:@"some address"
parameters:parameters
progress:^(NSProgress * _Nonnull progress) {
NSLog(@"In progress: %d%%", (int)([progress fractionCompleted] * 100 ));
}
success:^(NSURLSessionTask *task, id responseObject) {
[self processData:[responseObject objectForKey:@"orders"]];
}
failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@", error);
}];
它是从 调用的viewDidLoad
。大多数情况下它运行良好,但有时我会收到此错误:
错误域=com.alamofire.error.serialization.response Code=-1011 “请求失败:网关超时(504)” UserInfo={NSUnderlyingError=0x7fdd40c18aa0 {错误域=com.alamofire.error.serialization.response Code=-1016 “请求失败:不可接受的内容类型:文本/html”......等等,没什么有趣的......
但是,在控制台上我看到"In progress: 100%"。此外,在浏览器中,我总是可以获取所有数据。因此,我建议,这是我的代码的问题。我该如何解决这个问题?