标签:
AFNetworking框架默认请求类型和响应类型都是JSON格式的,在特殊情况下,我们使用字符串形式的时候,就会报3840错误,如何解决呢?
设置请求管理者:
// 因为传递过去和接收回来的数据都不是json类型的,所以在这里要设置为AFHTTPRequestSerializer和AFHTTPResponseSerializer mgr.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求 mgr.responseSerializer = [AFHTTPResponseSerializer serializer];// 响应
2.在success中将responseObject转换为一个字符串
// 转码 NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
整体方法:
// 1.获得请求管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 因为传递过去和接收回来的数据都不是json类型的,所以在这里要设置为AFHTTPRequestSerializer和AFHTTPResponseSerializer
mgr.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];// 响应
// 2.发送GET请求
[mgr GET:url parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
// 转码
NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"%@",string)
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
failure(error);
}
}];
AFNetworking发送和接收字符串时报3840错误的解决办法
标签:
原文地址:http://my.oschina.net/hehongbo/blog/530174