使用AFNetworking出现Code=-1011 "
2017-01-03 本文已影响2640人
iAzure
今天在学习使用AFNetworking 3.1的时候出现了Code=-1011 "Request failed: internal server error (500)的错误,看网上很多人也在找解决办法,我这边已经解决了,可以提供给大家参考一下。
在使用AFNetworking之前自己写了一个Demo,就是给屏幕上两个按钮添加了点击事件:
-(void)clickGet01Data:(id)sender
{
NSString *urlStr = @"http://XXXXXXXXX";
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
[session GET:urlStr parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
;
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"Success!");
NSLog(@"%@",responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"Fail");
}];
}
-(void)clickGet02Data:(id)sender
{
NSString *urlStr = @"http://XXXXXXXXX";
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
[session GET:urlStr parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
;
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"Success!");
NSLog(@"%@",responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@",error);
}];
}
运行的时候一切正常。
但是使用的时候,同时调用上述两个函数中的代码,第二个就报了Code=-1011 "Request failed: internal server error (500)的错误。
我这边服务器规定,在clickGet01Data中代码执行之后,得到了Cookie,有了这个Cookie,clickGet02Data才能够拿到数据。
所以在我这里的解决办法就是,让两段代码运行在不同的点击事件中,使前面的代码有足够的时间获得Cookie。
综上所述,我这里出现Code=-1011 "Request failed: internal server error (500)的原因是Get数据时没有相应的Cookie。
——本人的第一篇技术文章,有任何问题请各位大神在留言区多指教,谢谢!