代码一切正常,问题是它说身份验证失败,虽然用户名和密码是 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/