afnetworking请求数据返回数据求助

AFNetworking返回数据求助_百度知道
AFNetworking返回数据求助
点疑惑的时tableview的数据源一般不是array形式的吗? 数据请求成功之后,刷新一下tableview就可以了,当然前提是你的比较重要的几个tableview的delegate方法已经全部实现,返回的数据,和tablev的数据,使用同一个指针 [tableview reloadData]。一般情况下
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁主题 : AFNetworking返回数据求助(已处理,是接口的问题)
级别: 新手上路
可可豆: 242 CB
威望: 242 点
在线时间: 86(时)
发自: Web Page
来源于&&分类
AFNetworking返回数据求助(已处理,是接口的问题)&&&
小白一枚,之前一直用MKNetwork,这次想试试AFNetworking,结果返回的数据弄不明白了,请大家帮忙看一下吧。已经解决,是接口没对上。这是我的请求代码(都是在网上搜到的):AFHTTPSessionManager*manager = [AFHTTPSessionManagermanager];//manager.requestSerializer = [AFJSONRequestSerializer serializer];manager.responseSerializer= [AFHTTPResponseSerializerserializer];manager.responseSerializer.acceptableContentTypes=[manager.responseSerializer.acceptableContentTypessetByAddingObject:@&text/html&];//Very Important// 2.封装请求参数NSMutableDictionary*params = [NSMutableDictionarydictionary];
NSString*url = @&/alflower/DataAction/login&; // 3.发送POST请求    [manager POST:url parameters:params constructingBodyWithBlock:^(id  _Nonnull formData) {// 拼接data到请求体,这个block的参数是遵守AFMultipartFormData协议的。     } progress:^(NSProgress * _Nonnull uploadProgress) {// 这里可以获取到目前的数据请求的进度     } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) { // 请求成功,解析数据        NSLog(@&%@&, responseObject); NSDictionary*dic = [NSJSONSerializationJSONObjectWithData:responseObject options:NSJSONReadingMutableContainers| NSJSONReadingMutableLeaveserror:nil];         NSLog(@&%@&, dic);     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {         // 请求失败NSLog(@&%@&, [error localizedDescription]);    }];虽然请求成功了,但返回的数据是这样的:&efbbbf3c 6d 6ccd2f 2ff2f8 544d4c20 312e9 4e4 fe772f 46d6c 312f8 746d6c31 2d22 3e0d0a3c 786d6c 6e733d22 a2f2f77 e6f72 672ff78 3e0d0a 3ce0d0a 3cc653ee7 b3bbe7bb 9fe58f91 e9e8af af3c2f74 e0d0a3c 6d71 636f6e ded22 f6b5 743d2 2f3e0d0a 3c6de61 6d653d22 63 6f6ed22 ce0d 0a3ce 0d0a626f a0d66 616d696c 793a372 6f736f66 665 2cc 2ce732d73 b0d0a09 666f6e74 2d734 a7d0d0a 617bd64 a6e6f 6e653b63 6f6c6f72 3ad0d0a 613a686f d1 a6e6f6e 653b636f 6c6f723a d0a68 327b0d0a 74 6f6d3a31 f6c4 443b0d0a 96e67 3a03b0d 0a66f6e 742da32 d0a7d0d 0a2eb 0d0a096d e3ab 0d0ac6f72 3ab0d0a 2d4 3a626f6c 643b0d0a 7d0d0a2e 6d61 a65 6d3b0d0a c69 b0d 0a096d61 aab67 726f756e 643ab0d 0a096c69 6e652d68 ab0d 0a7d0d0a 2e6d5 7b0d0a09 726f75 6e643a23 d0ac6f72 3ad0a09 20 736f6c69 d0a 7d0d0a23 b0d0a b63a a465 723af 6c3b 0d0ac6f72 3ad0a7d 0d0a2e6e 6fb0d0a 3a b0d0a09 6de3a35 a0f723a b0d0a09 726f75 6e643a23 33b0d 0a072 3a36f6c b0d 0a7d0d0a 2eb0d0a09 636f6c6f 723ad0a 2d4 3a626f6c 643b0d0a 7d0d0a3c 2fc653e0d 0a3c2f68 d0a3c62 6f6a3c64 cd226e6f e0d0a 3c68323e e7b3bbe7 bb9fe58f 91e7949f e99499e8 afaf203c 2f6a3c64 6976203e e682a8e5 8fafe4bb a5e90 5b203c41 d222f 616c666c 6ff696e64 02f44 f6c6f ee9878d e8af953c 2f413e20 5d205b20 3c76 74 6f76b 2829223e e8bf94e5 9b9e3c2f 413e205d 20e60 5b203c41 d222f 616c666c 6ff696e64 0223e e59b9ee5 88b0e9a6 96e9a1b5 3c2f413e 205d3c2f d0a3c70 3e3ce67 3ee99499 e8afafe4 bd8de7bd ae3a3c2f e673ee3 c453a20 3ce23d e443a 5c77 775c616c 666c6f77 96e6b c665 5ce636c61 03c2f eee45 3a203c73 c2 3061 6e3e3c2f 703e0d0a 3ccdcb20e9 9499e8af afe4bfa1 e681af20 5d3c2f70 3e0d0a3c 773 ee697 a0e6b395 e58aa0e8 bdbde6a8 a1e59d97 e3c2f 703e0d0a 3ccdcb5 205d3c2f 703e0d0a 3cd5 223e0d0a 5b3d31 a3d20 443a5c70 5c 616c666c 6fce6bc69 625c436f 02e63 6ce41 93c62 a5b42d a45d 777 5c616c66 6c6f8 696e6b50 625c43 6f76e 6b2e636c 70 3a3a93c e0a5b31 362d420 a43a 5c77 775c616c 666c6f77 96e6b 6f6d6d 6f6e5c72 756ee70 69 6e6b3a3a 2f 3e0a5b31 362d420 a43a 5c77 775c616c 666c6f77 96e6b 6850 2e65 870 cc 666c6f77 96e6b 6f6d6d 6f6e5c72 756ee70 7a5b31 362d420 a43a 5c77 775c616c 666c6f77 ee71 43a5c 777 5c616c66 6c6f8 696e6b50 96e6b cf3e0a3c 2f703e0d 0a3c2f64 a3c2f62 6f6a3c2f e&如果这样写:// manager.requestSerializer = [AFHTTPRequestSerializer serializer];manager.responseSerializer= [AFJSONResponseSerializerserializer];manager.responseSerializer.acceptableContentTypes=[NSSetsetWithObject:@&text/html&];就会显示:The data couldn’t be read because it isn’t in the correct format.之前用MKNetwork都是可以显示出文字的啊,求大家帮一下[ 此帖被风清月明在 18:03重新编辑 ]
级别: 新手上路
UID: 553161
可可豆: 142 CB
威望: 119 点
在线时间: 145(时)
发自: Web Page
这是还没json解析吧。。。
级别: 新手上路
可可豆: 242 CB
威望: 242 点
在线时间: 86(时)
发自: Web Page
回 1楼(hkren121) 的帖子
到这里就不会了啊,不给我解析好的吗?我再去查一下怎么解析试了一下dataUsingEncoding:NSUTF8StringEncoding],但是崩溃了[ 此帖被风清月明在 17:31重新编辑 ]
级别: 新手上路
UID: 553161
可可豆: 142 CB
威望: 119 点
在线时间: 145(时)
发自: Web Page
回 2楼(风清月明) 的帖子
你的dic打印出来是什么。。。
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 57(时)
发自: Web Page
同样的错误error==The data couldn’t be read because it isn’t in the correct format
级别: 新手上路
UID: 563240
可可豆: 31 CB
威望: 17 点
在线时间: 112(时)
发自: Web Page
我也遇到同样的问题,请问是接口哪里的问题呀???
关注本帖(如果有新回复会站内信通知您)
9*6-8 正确答案:46
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版主题 : 用AFNetWorking,请求webservice不返回数据。
级别: 新手上路
UID: 201690
可可豆: 43 CB
威望: 39 点
在线时间: 141(时)
发自: Web Page
用AFNetWorking,请求webservice不返回数据。&&&
这样设置http headers正确吗?&
NSString *msgLength = [NSString stringWithFormat:@"%ld", [soapMsg length]];
& & NSString *soapAction=[NSString stringWithFormat:@"%@%@",space,methodname];
& & NSURL *url = [NSURL URLWithString:@""];
& & AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
& & [httpClient setDefaultHeader:@"Host" value:[url host]];
& & [httpClient setDefaultHeader:@"Content-Type" value:@"text/ charset=utf-8"];
& & [httpClient setDefaultHeader:@"Content-Length" value:msgLength];
& & [httpClient setDefaultHeader:@"SOAPAction" value:soapAction];
& & NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/shop/console/index.php/Interface/shopList?wsdl" parameters:nil];//这里的parameters:参数就是你的第二个问题如何设置参数
& & [request setTimeoutInterval:30];
& & AFHTTPRequestOperation *operation = [httpClient HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
& & & & NSString *html = operation.responseString;
& & & & NSLog(@"返回的字符串~~~~~~~:%@",html);
&& & & &
& & }
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & failure:^(AFHTTPRequestOperation *operation, NSError *error) {
&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & }
&& & & & & & & & & & & & & & & & & & & & ];
& & [operation start];
级别: 精灵王
UID: 113399
发帖: 3616
可可豆: 5687 CB
威望: 6203 点
在线时间: 2575(时)
发自: Web Page
是不是你没传参数引起的~~~ &&
级别: 新手上路
UID: 201690
可可豆: 43 CB
威望: 39 点
在线时间: 141(时)
发自: Web Page
但是我这个接口没有参数要传递啊
级别: 新手上路
可可豆: 11 CB
威望: 4 点
在线时间: 12(时)
发自: Web Page
我也碰到同样的问题。。不过我用的是afn2.0&
我得参数
& AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
&& [sharedClient setResponseSerializer:responseSerializer];
& &&sharedClient.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@&text/html&];
级别: 新手上路
可可豆: 65 CB
威望: 65 点
在线时间: 227(时)
发自: Web Page
兄弟,问题解决了吗、?
级别: 新手上路
UID: 428455
可可豆: 24 CB
威望: 23 点
在线时间: 484(时)
发自: Web Page
同问 求解答 求解答 求解答
关注本帖(如果有新回复会站内信通知您)
论坛技术问题应该发布到? 正确答案:CocoaChina问答
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版iOS开发网络数据之AFNetworking使用
http网络库是集XML解析,Json解析,网络图片下载,plist解析,数据流请求操作,上传,下载,缓存等网络众多功能于一身的强大的类库。最新版本支持session,xctool单元测试。网络获取数据一直是手机软件的重中之重,如果处理的不好,会造成很差的用户体验。随着ASIHTTPRequest的停止更新,更换网络库是必然的事情,AFNetworking就是很好的替代品。而且都是轻量级,不要担心加入太多库会多软件性能有影响。
1.为什么用第三方网络库?先说如果不用网络库,我曾有一次觉得什么都用苹果原生的好,XML解析用苹果自带的委托,下载图片自己写,如果你也有跟我一样的经历,那你会发现自己管理起来很复杂,很容易出错。而且性能不好。如果你是一个追求完美的人,那就放下你的固执,就如当初的我一样,尝试一下网络库吧。
2.为什么要用AFNetworking?第一点,它有人更新和维护,而且目前使用者很多,第二点,还是使用者很多,那么他的资料,文档,demo就多,很好找遇到问题好解决。如果不用AFNetworking,还有一种MKNetworkKit也不错,不妨一试。
如何选择AFNetworking版本
首先得下载AFNetworking库文件,下载时得首先弄清楚,你将要开发的软件兼容的最低版本是多少。AFNetworking
2.0或者之后的版本需要xcode5.0版本并且只能为IOS6或更高的手机系统上运行,如果开发MAC程序,那么2.0版本只能在MAC
OS X 10.8或者更高的版本上运行。
如果你想要兼容IOS5或MAC OS X 10.7,那你需要用最新发布的1.x版本
如果要兼容4.3或者MAC OS X 10.6,需要用最新发布的0.10.x版本
AFNetworking 0.10.x
2013年大多数软件兼容的最低版本为4.3,而2014年,估计大多数软件兼容的最低版本将会是5.0甚至6.0;
所以,目前最好的选择还是1.x版本,兼容到IOS5.0。
如何通过URL获取json数据
第一种,利用AFJSONRequestOperation,官方网站上给的例子:
NSString *str=[NSString stringWithFormat:@"https://alpha-api.app.net/stream/0/posts/stream/global"];
& NSURL *url =
[NSURL URLWithString:[str
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
& NSURLRequest *request = [NSURLRequest
requestWithURL:url];
从URL获取json数据
& AFJSONRequestOperation *operation1 = [AFJSONRequestOperation
JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSDictionary* JSON) {
& & NSLog(@"获取到的数据为:%@",JSON);
& & } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id data) {
& NSLog(@"发生错误!%@",error);
& & [operation1 start];
第二种方法,利用AFHTTPRequestOperation&先获取到字符串形式的数据,然后转换成json格式,将NSString格式的数据转换成json数据,利用IOS5自带的json解析方法:
& &NSString&*str=[NSString&stringWithFormat:@"https://alpha-api.app.net/stream/0/posts/stream/global"];
&&NSURL&*url =
[NSURL&URLWithString:[str&stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
&&NSURLRequest&*request =
[NSURLRequest&requestWithURL:url];
&AFHTTPRequestOperation
*operation =
[[AFHTTPRequestOperation
alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
& NSString
*html = operation.responseString;
& &NSData* data=[html dataUsingEncoding:NSUTF8StringEncoding];
& &id dict=[NSJSONSerialization&
JSONObjectWithData:data
options:0 error:nil];
& NSLog(@"获取到的数据为:%@",dict);
}failure:^(AFHTTPRequestOperation *operation, NSError *error) {
& NSLog(@"发生错误!%@",error);
& NSOperationQueue *queue = [[NSOperationQueue
alloc] init];
& & [queue addOperation:operation];
如果发生Error Domain=NSURLErrorDomain Code=-1000 "bad URL"
UserInfo=0x14defc80 {NSUnderlyingError=0x14deea10 "bad URL",
NSLocalizedDescription=bad URL这个错误,请检查URL编码格式。有没有进行stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
如何通过URL获取图片
异步获取图片,通过队列实现,而且图片会有缓存,在下次请求相同的链接时,系统会自动调用缓存,而不从网上请求数据。
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 100.0f, 100.0f, 100.0f)];
& & [imageView setImageWithURL:[NSURL URLWithString:@"http://i./r4uwx.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];
& & [self.view addSubview:imageView];
上面的方法是官方提供的,还有一种方法,
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL
URLWithString:@"http://www./wp-content/uploads/2013/01/scene.png"]];
& AFImageRequestOperation *operation = [AFImageRequestOperation
imageRequestOperationWithRequest:request imageProcessingBlock:nil
success:^(NSURLRequest
*request, NSHTTPURLResponse
*response, UIImage *image) {
& self.backgroundImageView.image =
} failure:^(NSURLRequest
*request, NSHTTPURLResponse
*response, NSError *error) {
& NSLog(@"Error
%@",error);
& & [operation start];
如果使用第一种URLWithString:&&placeholderImage:会有更多的细节处理,其实实现还是通过AFImageRequestOperation处理,可以点击URLWithString:&&placeholderImage:方法进去看一下就一目了然了。所以我觉得还是用第一种好。
如何通过URL获取plist文件
通过url获取plist文件的内容,用的很少,这个方法在官方提供的方法里面没有
NSString *weatherUrl =
@".cn/buick/kls/Buickhousekeeper.plist";
& NSURL *url =
[NSURL URLWithString:[weatherUrl
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
& NSURLRequest *request = [NSURLRequest
requestWithURL:url];
[AFPropertyListRequestOperation
addAcceptableContentTypes:[NSSet setWithObject:@"text/plain"]];
& AFPropertyListRequestOperation
*operation =
[AFPropertyListRequestOperation
propertyListRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id propertyList) {
& NSLog(@"%@",(NSDictionary *)propertyList);
& & }failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id propertyList) {
& NSLog(@"%@",error);
& & [operation start];
如果稍不留神,可能就出现Error
Domain=AFNetworkingErrorDomain Code=-1016 "Expected content type
& "application/x-plist"
)}, got text/plain"
UserInfo=0x16e91ce0 {NSLocalizedRecoverySuggestion=
AFNetworkingOperationFailingURLRequestErrorKey= { },
NSErrorFailingURLKey=, NSLocalizedDescription=Expected content type
& "application/x-plist"
)}, got text/plain,
AFNetworkingOperationFailinponseErrorKey= { URL:
&} { status code: 200, headers {
& "Accept-Ranges" =
& Connection = "keep-alive";
& "Content-Length" = 974;
& "Content-Type" = "text/plain";
& Date = "Sat, 25 Jan :26
""ce-4ee63e1c80e00"";
& "Last-Modified" = "Wed, 25 Dec :24
& Server = "nginx/1.4.2";
可能还会出现乱码,解决办法就是[AFPropertyListRequestOperation&addAcceptableContentTypes:[NSSet&setWithObject:@"text/plain"]];
如何通过URL获取XML数据
xml解析使用AFXMLRequestOperation,需要实现苹果自带的NSXMLParserDelegate委托方法,XML中有一些不需要的协议格式内容,所以就不能像json那样解析,还得实现委托。我之前有想过能否所有的XML链接用一个类处理,而且跟服务端做了沟通,结果很不方便,效果不好。XML大多标签不同,格式也不固定,所以就有问题,使用json就要方便的多。
第一步;在.h文件中加入委托NSXMLParserDelegate
第二步;在.m文件方法中加入代码
*url = [NSURL
URLWithString:@"http://113.106.90.22:5244/sshopinfo"];
& NSURLRequest *request = [NSURLRequest
requestWithURL:url];
& AFXMLRequestOperation *operation =
[AFXMLRequestOperation
XMLParserRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser) {
& XMLParser.delegate = self;
& & [XMLParser
setShouldProcessNamespaces:YES];
& [XMLParser parse];
& & }failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, NSXMLParser *XMLParser) {
& NSLog(@"%@",error);
& & [operation start];
第三步;在.m文件中实现委托方法
&&//在文档开始的时候触发
-(void)parserDidStartDocument:(NSXMLParser *)parser{
& NSLog(@"解析开始!");
//解析起始标记
- (void)parser:(NSXMLParser *)parser
didStartElement:(NSString
*)elementName namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary
*)attributeDict{
& & NSLog(@"标记:%@",elementName);
//解析文本节点
- (void)parser:(NSXMLParser *)parser
foundCharacters:(NSString
& & NSLog(@"值:%@",string);
//解析结束标记
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString
*)elementName namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString
& & NSLog(@"结束标记:%@",elementName);
//文档结束时触发
parserDidEndDocument:(NSXMLParser *)parser{
& NSLog(@"解析结束!");
运行的结果:
如何使用AFHTTPClient进行web service操作
AFHTTPClient处理GET 和
POST请求.做网页的朋友们这个方法用的比较多。在要经常调用某个请求时,可以封装,节省资源。
&BaseURLString&=
@"/downloads/weather_sample/";
*baseURL = [NSURL
URLWithString:[NSString
stringWithFormat:BaseURLString]];
& NSDictionary *parameters = [NSDictionary
dictionaryWithObject:@"json" forKey:@"format"];
& AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:baseURL];
[client registerHTTPOperationClass:[AFJSONRequestOperation class]];
[client setDefaultHeader:@"Accept" value:@"text/html"];
& & [client postPath:@"weather.php" parameters:parameters success:^(AFHTTPRequestOperation *operation,
id responseObject) {
& & NSString* newStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
& NSLog(@"POST请求:%@",newStr);
}failure:^(AFHTTPRequestOperation *operation, NSError *error) {
& NSLog(@"%@",error);
& & [client getPath:@"weather.php" parameters:parameters success:^(AFHTTPRequestOperation *operation,
id responseObject) {
& & NSString* newStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
& NSLog(@"GET请求:%@",newStr);
}failure:^(AFHTTPRequestOperation *operation, NSError *error) {
& NSLog(@"%@",error);
运行结果:
如果需要显示网络活动指示器,可以用下面方法:
[AFNetworkActivityIndicatorManager sharedManager].enabled =
Error: Error Domain=AFNetworkingErrorDomain Code=-1016
"Request failed: unacceptable content-type: text/html"
UserInfo=0x16774de0
{NSErrorFailingURLKey=http://192.168.2.2:8181/ecar/tsp/uploadLocation?CID=781666&serviceType=1,
AFNetworkingOperationFailinponseErrorKey= { URL:
http://192.168.2.2:8181/ecar/tsp/uploadLocation?CID=781666&serviceType=1
} { status code: 200, headers {
} }, NSLocalizedDescription=Request failed: unacceptable
content-type: text/html}
返回数据格式不对。注销这句话:&op.responseSerializer
= [AFJSONResponseSerializer serializer];然后将返回的数据自己转换。
error = Error Domain=com.alamofire.error.serialization.response
Code=-1016 "Request failed: unacceptable content-type: text/html"
UserInfo=0x
{com.alamofire.serialization.response.error.response= { URL:
http://192.168.5.132/api/cats?type=apps } { status code: 200,
& & Connection =
"keep-alive";
& & "Content-Type" = "text/
charset=utf-8";
& & Date = "Thu, 05 Nov 2015
10:27:42 GMT";
& & Server =
& & "Transfer-Encoding" =
AF可以接受json以外的数据 & &自己随意定义的格式都可以
& &只不过要使用AFNetwork提供的解析方法的话
& 它只对通用的格式做处理 &
&你返回的数据不是那种格式 & 他就无法解析出来
& & 那要你自己处理 &
&改变AFNetWork的库文件 &
& 找到他判断错误的那个函数 &
&让他从正确的方法返回 & &
如果你不会的话 &就在返回错误的方法处理也可以 &
反正数据已经到了 & & &
网络的目的 & 是为了得到数据 &
&你的数据已经到了 &
只不过AFNetwork认定你的数据不符合常用的格式 & &
&确实也不符合 & 因为你的数据是加密的东西
& 而且是对整个json格式加密 & 而不是只对值加密
& &所以要实现这种格式的传输
& &只能修改AFNetwork的库
& &而你不会 &
&那就先这么用着
举个例子 & &你们现在的做法是对整个字符串加密
& &如果你不这么做 &
&只将值部分加密 &而不对键加密
& &就是{“message”:“值的密文”}
& 那么这个数据仍然符合json格式 &
AFNetwork依然能解析出来 & &
& 你们对整个json字符串都加密了 &那密文就不是json格式了
所以你们可以按我说的改 &仅加密值部分 &
& 也就按照现在的方法 &
&在错误的返回方法里面处理数据 &
&但是你自己知道数据是正确的 &
只不过AFNetwork误判了而已 & &
& &这个属于原理上东西 &
&改不了 & &
要么就是不让AFNetwork解析 & &
&他只透传 & &你自己解析
& &如果让他帮你解析 &
你就要指定一个格式给他 & &指定了格式
&而你的数据不符合格式 & 那就是按错误的方法返回
AFNetworking关于HTTP认证的问题
AFNetwork实现basic认证的方法很简单
AFNetwork实现digest认证
创建一个NSURLCredential对象,然后将对象赋值到请求
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSURLCredential *credential = [[NSURLCredential alloc] initWithUser:@"Username" password:@"Password" persistence:NSURLCredentialPersistenceForSession];
[manager setCredential:credential];&
。关于AFNetWork2.0的demo已经完成,有需要的朋友到QQ群:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 afnetworking请求数据 的文章

 

随机推荐