网上搜了多久都没有找到关于YTK重定向的问题。看了一 下YTK的API,貌似并没有提供这个接口。但是YTK底层封装的是AFNetWorking,于是就想在YTK中找到AFN的接口。
YTKNetworkAgent *agent = [YTKNetworkAgent sharedAgent];
AFHTTPSessionManager *sessionManager = [agent manager];
有了sessionManager
,就可以重定向了。
[sessionManager setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest * _Nonnull(NSURLSession * _Nonnull session, NSURLSessionTask * _Nonnull task, NSURLResponse * _Nonnull response, NSURLRequest * _Nonnull request)
{
//写法1
if (request) {
return request;
}
return nil;
//写法2:这里可以重新修改重新向后的请求方式和参数。
if (request) {
NSDictionary *param = weakSelf.urlParameterDict[request.URL.absoluteString];
NSLog(@"param====%@",param);
NSMutableURLRequest *mutRequest = [sessionManagerBlock.requestSerializer requestWithMethod:@"POST" URLString:request.URL.absoluteString parameters:param error:nil];
return mutRequest;
}
return nil;
}];