AFNetworking错误域= com.alamofire.error.serialization.response代码= -1011 “请求失败:错误的请求(400)”
问题描述:
在邮差:AFNetworking错误域= com.alamofire.error.serialization.response代码= -1011 “请求失败:错误的请求(400)”
我得到回应,但在XCode中我有错误,这里是我的代码:
NSString *tokenStr=[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults]objectForKey:@"token"]];
NSString *newString = [tokenStr stringByReplacingOccurrencesOfString:@"\"" withString:@""];
NSLog(@"Token iss %@",newString);
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setValue:newString forHTTPHeaderField:@"Authorization-Token"];
[manager.requestSerializer setValue:@"5C063BDB-40EC-4EDE-8C0C-830D4437E056" forHTTPHeaderField:@"Authorization-Key"];
[manager.requestSerializer setValue:@"[email protected]" forHTTPHeaderField:@"UserName"];
[manager.requestSerializer setValue:@"123456" forHTTPHeaderField:@"UserPassword"];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html",@"text/plain", nil];
[manager GET:BaseURLStringLogin parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Bhai Error: %@", error);
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error Retrieving Data"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
}];
答
即从服务器,这意味着服务器端应用程序返回的HTTP 400错误是不开心的东西对你的要求。如果您有权访问服务器日志,请查看它们并查看它们是否提供了有关缺少/格式错误的更多详细信息。
距离看,不过,我看你设定一堆价值观对你manager.requestSerializer
,但随后覆盖manager.requestSerializer
有默认manager.requestSerializer = [AFHTTPRequestSerializer serializer];
,这意味着所有的定制的配置值将被覆盖。尝试串行分配设置你的配置价值后:
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:newString forHTTPHeaderField:@"Authorization-Token"];
[manager.requestSerializer setValue:@"5C063BDB-40EC-4EDE-8C0C-830D4437E056" forHTTPHeaderField:@"Authorization-Key"];
[manager.requestSerializer setValue:@"[email protected]" forHTTPHeaderField:@"UserName"];
[manager.requestSerializer setValue:@"123456" forHTTPHeaderField:@"UserPassword"];
由于覆盖的是显示错误。谢谢 –
我有同样的问题,但解决'manager.requestSerializer = [AFJSONRequestSerializer序列化程序];' – Shahrukh