IOS - 使用 REST API 的基本身份验证 - SSL - AFNetworking 3.0

标签 ios afnetworking-3

代码一切正常,问题是它说身份验证失败,虽然用户名和密码是 100% 正确的,所以不确定是否有办法传递登录名和密码并让用户通过身份验证

 NSString *urlString = @"URL";

        NSMutableArray * keyStrings = [NSMutableArray new];
        NSMutableArray * valueStrings = [NSMutableArray new];
        [keyStrings addObject:@"user"];
        [valueStrings addObject:@"abc"];
        [keyStrings addObject:@"password"];
        [valueStrings addObject:@"12345"];

        NSDictionary * requestDict = [[NSDictionary alloc] initWithObjects:valueStrings forKeys:keyStrings];
        AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];

        manager.responseSerializer = [AFHTTPResponseSerializer serializer];

        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/xml"];
        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
        manager.securityPolicy.allowInvalidCertificates = YES;
        manager.securityPolicy.validatesDomainName = NO;

最佳答案

我猜你打算使用 HTTP Basic Authentication在这种情况下,您应该使用 Authorization header 字段,而不是在请求参数中以纯文本形式传递用户名和密码(我第一次尝试使用 REST API 进行基本身份验证时犯了这个错误).

您需要将它添加到 AFHTTPRequestSerializer 的 header 中,您可以使用 setAuthorizationHeaderFieldWithUsername:password: method或者通过手动构造标题字段值并使用 setValue:forHTTPHeaderField: method 设置标题字段值.

关于IOS - 使用 REST API 的基本身份验证 - SSL - AFNetworking 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41109308/

相关文章:

ios - 互联网连接恢复时重试请求 - IOS

ios - Afnetworking 3.0 迁移 : How to post with xml post body

ios - 如何在 AFNetworking iOS 中将非英文字符传递给请求?

ios - 使用 Parse 在 PFQuery 之外重新调整空白数组的数组。

ios - 谷歌地图上的标记标题

ios - UITableView ScrollView 不会到框架顶部

ios - 如何平滑贝塞尔路径中的线条连接?

ios - 如何显示我的 TableView Controller 的 UILabel 文本?

ios - 如何在 AfNetworking 3.0 中为请求添加 Headers?

ios - 在 AFNetworking 3.0 中发送嵌套 NSMutableDictionary 作为 POST 请求的参数