卡在响应为 205 的请求中

Posted

技术标签:

【中文标题】卡在响应为 205 的请求中【英文标题】:Stuck in a request with response 205 【发布时间】:2015-01-19 18:24:32 【问题描述】:

当我应该清理应用程序的数据时,我的服务器可以向我发送状态代码 205

但是,请求卡住了,没有收到来自 afnetworking 的成功或错误响应,直到它给我一个超时错误

Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo=0x7fea70e85210 NSUnderlyingError=0x7fea70e5d180 "请求 超时。”

这是有关请求的信息:

我正在使用一个简单的 AFHTTPSessionManager 客户端来处理请求。

self.responseSerializer = [AFHTTPResponseSerializer serializer];
self.requestSerializer = [AFHTTPRequestSerializer serializer];

NSMutableSet *contentTypes = [[NSMutableSet alloc] initWithSet:self.responseSerializer.acceptableContentTypes];
[contentTypes addObject:@"text/html"];
[contentTypes addObject:@"application/json"];
[contentTypes addObject:@"text/json"];
[contentTypes addObject:@"text/plain"];

self.responseSerializer.acceptableContentTypes = contentTypes;

我的请求

 [self POST:apiService parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) 

   NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
    if (response.statusCode == 205) 
        if (block) 
            block(nil,nil);
        
    else
        if (block) 
            block(dictionary,nil);
        
    

 failure:^(NSURLSessionDataTask *task, NSError *error) 
    if (block) 
        block(nil,error);
    
];

有什么想法吗?

【问题讨论】:

【参考方案1】:

尝试延长超时时间,例如

[manager.requestSerializer setTimeoutInterval:20.0];  

看起来AFNetworking 有一些与here 描述的超时相关的问题

附:显示一些代码

【讨论】:

感谢您的回复。但老实说,我认为时间不是问题.. 服务器立即发送了响应.. 如果我从服务器更改状态代码,问题就会消失.. 如果您发布一些代码以获得进一步帮助会更好

以上是关于卡在响应为 205 的请求中的主要内容,如果未能解决你的问题,请参考以下文章

http协议中各个响应状态返回值的含义

Alamofire EmptyResponseCodes 不起作用

Chromecast 自定义接收器播放器卡在 IDLE 状态并且没有响应

http状态码

Java Web项目中的404错误指啥

HTTPFTP状态码 汇总