客户端在收到整个响应之前关闭连接 AFNetworking
Posted
技术标签:
【中文标题】客户端在收到整个响应之前关闭连接 AFNetworking【英文标题】:Client closed connection before receiving entire response AFNetworking 【发布时间】:2015-11-09 11:47:06 【问题描述】:无法下载文件 收到此错误“客户端在收到整个响应之前关闭连接” 我要下载的文件只有 266KB
for (NSString *downloadURL in arr)
// NSString *downloadURL = [d objectForKey:@"url"];
dispatch_async(dispatch_get_main_queue(), ^
NSLog(@"URL for downloading : %@",downloadURL);
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *documentsDirectory = [pathArray objectAtIndex:0];
NSString *downloadedZipPath = [documentsDirectory stringByAppendingPathComponent:TEMP_DICTIONARY];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:downloadURL]];
// [request addValue:@"bytes=x-" forHTTPHeaderField:@"Range"];
// [request setTimeoutInterval:20];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:downloadedZipPath append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
NSLog(@"Success");
failure:^(AFHTTPRequestOperation *operation, NSError *error)
NSLog(@"Error: %@", error);
];
[operation start];
);
试图增加 api 请求超时但仍然无法正常工作
【问题讨论】:
【参考方案1】:尝试将其设置为更多时间
[request setTimeoutInterval:20];
【讨论】:
【参考方案2】:我有一些这样的错误。但我认为这不是 AF 故障。当您请求的事物的内容类型与其原始内容类型不同时,将出现此错误。 例如: 当您请求 mp4 文件时,服务器应将 content-type 设置为 video/mpeg4,或者您可以将请求类型从 GET 更改为 POST。
【讨论】:
以上是关于客户端在收到整个响应之前关闭连接 AFNetworking的主要内容,如果未能解决你的问题,请参考以下文章
与“ws://localhost:3000/”的 WebSocket 连接失败:在收到握手响应之前连接已关闭
“在收到握手响应之前连接已关闭”尝试使用 websockets 将 Angular 与 Spring 连接时
rxjs/webSocket - 到“ws://localhost:3000/”的 WebSocket 连接失败:连接在收到握手响应之前关闭