使用AFN请求时设置basic认证,但是url被重定向,导致返回failure 401
解决办法
// 此方法会在manager请求方法回调前调用
[manager setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest * _Nullable(NSURLSession * _Nonnull session, NSURLSessionTask * _Nonnull task, NSURLResponse * _Nonnull response, NSURLRequest * _Nonnull request) {
NSHTTPURLResponse *resPonse = (NSHTTPURLResponse *)response;
// 如果是302重定向 可以往请求头里加入认证等信息,如果不是302可以直接返回request,也可以return nil;
if (resPonse.statusCode == 302) {
NSMutableURLRequest *res = [NSMutableURLRequest requestWithURL:request.URL];
NSData *basicAuthCredentials = [[NSString stringWithFormat:@"%@:%@", username, password] dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64AuthCredentials = [basicAuthCredentials base64EncodedS