今天在學習使用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。
——本人的第一篇技術文章,有任何問題請各位大神在留言區多指教,謝謝!