AFNetworking框架中 可以实现请求重定向问题;只是在3.0有个分割使用的方法不同,下面说说不同版本的使用重定向的方法:
AFN 3.0 以下:
[[AFHTTPRequestOperation manager] setRedirectResponseBlock:^NSURLRequest *(NSURLConnection *connection, NSURLRequest *request, NSURLResponse *redirectResponse) { //如果需要request 里边的请求回来的url 请返回 request return nil; }];
AFN 3.0 以上:
[self.otherRequestManager setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest * _Nonnull(NSURLSession * _Nonnull session, NSURLSessionTask * _Nonnull task, NSURLResponse * _Nonnull response, NSURLRequest * _Nonnull request) { if (request) { return request } return nil; }];
项目中使用AFN 的小伙伴 遇到重定向问题可以这样处理
网友评论
if (request)
{
MJLog(@"%@",request.URL);
return request;
}
return nil;
}];
[manager GET:urlStr parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
MJLog(@"Response: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
MJLog(@"Error: %@", error);
}];
楼主,为什么我这样写,模拟器和真机(ios9.2)正常,真机测试(ios10系统)这边报错,Error Domain=NSURLErrorDomain Code=-1001 "请求超时。