Ios HTTP Post超时-在超时间隔内启动多个请求
我正在使用HTTPPOST方法并启动一个同步请求。 [NSURLConnection sendSynchronousRequest:…] 对于HTTP POST请求,默认超时时间为75秒,正如许多线程中所讨论的那样 但是,在75秒的超时期间,对于使用所有相同参数发出的相同请求,将为我们启动多个web服务请求 请让我们知道是什么原因导致启动此多个请求?这通常是由于HTTP POST还是由于同步请求 @iOS示例代码Ios HTTP Post超时-在超时间隔内启动多个请求,ios,http,post,Ios,Http,Post,我正在使用HTTPPOST方法并启动一个同步请求。 [NSURLConnection sendSynchronousRequest:…] 对于HTTP POST请求,默认超时时间为75秒,正如许多线程中所讨论的那样 但是,在75秒的超时期间,对于使用所有相同参数发出的相同请求,将为我们启动多个web服务请求 请让我们知道是什么原因导致启动此多个请求?这通常是由于HTTP POST还是由于同步请求 @iOS示例代码 [body appendData:[[NSString stringWithFor
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
[request addValue:[NSString stringWithFormat:@"%d", body.length] forHTTPHeaderField: @"Content-Length"];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
NSURLResponse *response;
response = nil;
urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(urlData)
{
NSString *responseString = [[NSString alloc] initWithData:urlData encoding:NSASCIIStringEncoding];
[self parseStringInformation:responseString infoDict:informationDictionary];
//NSLog(@"%@",responseString);
}
如果没有服务器的请求-响应日志,则有几种可能性 程序员错误:您是否已经经历了所有“gotchya”类型的情况
- 您是否在“urlData=[NSURLConnection sendSynchronousRequest:…”行之前放置了一条日志消息,以确保代码只调用它一次
- 您是否从主GUI线程中调用此函数(如果不支持/不推荐),这意味着它可能会导致您所描述的副作用
- 您确定您的请求已设置为POST,并且具有正确的标题,如“内容类型:多部分/表单数据,边界=X”
- 可能您的服务器正在向客户端发送周期性重定向。如果您未实现“connection:willSendRequest”,则一个请求的重定向可能会执行?X?次
- 如果是这种情况,你必须解决这个bug,直到它被修复。我建议实现异步调用链。“异步加载数据”
NSLog()记录它们
查看系统端发生的情况。抱歉,没有办法在同步模式下记录这些事件。希望这有帮助,否则我只能检查从我的系统传输的情况。我面临类似的问题。我的应用程序在过去2年中一直在工作,没有任何问题。最近我注意到有多篇帖子,当我分析时,发现问题从9月中旬开始。我注意到当时用户在某个地方可以使用IOS6,用户开始升级到IOS 6。我将朝着这个方向探索(目前还没有结论)。论坛中还有其他人注意到了这一点吗?有什么建议我们可以进一步探索吗?