使用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 base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)0];
[res setVa

在使用AFNetworking进行基本认证请求时遇到重定向问题,结果导致401未授权错误。针对这一问题,文章提供了相应的解决策略。
最低0.47元/天 解锁文章
9189

被折叠的 条评论
为什么被折叠?



