[英]Code=-1011 “Request failed: unauthorized (401)” AFNetwoking
[英]Error Code -1011 with status code 401
我正在使用AFNetworking发布用户名和密码,以便获得JSON响应。 我很容易在POSTMAN客户端中得到JSON响应,如下面的快照所示:
但是,每当我使用AFNetworking库点击相同的URL时:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:urlString parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
我得到的错误如下:
我什至尝试添加以下代码,但始终会给出相同的错误响应:
AFHTTPRequestSerializer *serializerRequest = [AFHTTPRequestSerializer serializer];
[serializerRequest setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
manager.requestSerializer = serializerRequest;
manager.responseSerializer = [AFJSONResponseSerializer serializer];
我如何像邮递员客户端中那样获取JSON响应。 任何帮助都将受到赞赏。
如果HTTP响应代码401
不在您的acceptableStatusCodes
列表中。 AFNetworking不会继续反序列化对象。 而是创建一个NSError对象,这就是您所看到的输出。
可以找到此功能AFURLResponseSerialization.m:132
。
如果要更新您希望接受的HTTP代码,可以使用:
self.acceptableStatusCodes = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(200, 200)];
否则,如果您确信该请求包含JSON正文,则仍可以使用键AFNetworkingOperationFailingURLResponseErrorKey
从NSError中访问的数据生成为包含在userInfo
中的AFNetworkingOperationFailingURLResponseErrorKey
,并手动反序列化。
更多信息: https : //github.com/AFNetworking/AFNetworking/issues/2410#issuecomment-63304245
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.