ASIHttpRequest/node.js/heroku:“;客户端在收到整个响应之前关闭了连接”;
我有一个使用AsitpRequest的iphone应用程序。服务器代码位于node.js中的heroku上 有时,iphone(只有一个跟踪)应用程序会发送一个请求,但herokuapp会收到两次请求(我可以在heroku日志中看到两次相同的请求) 我认为在开始时,由于第一次尝试时出错,请求被请求了两次,但情况并非如此,因为两个请求(我需要的一个和我不需要的第二个)都是在服务器端执行的ASIHttpRequest/node.js/heroku:“;客户端在收到整个响应之前关闭了连接”;,node.js,heroku,asihttprequest,Node.js,Heroku,Asihttprequest,我有一个使用AsitpRequest的iphone应用程序。服务器代码位于node.js中的heroku上 有时,iphone(只有一个跟踪)应用程序会发送一个请求,但herokuapp会收到两次请求(我可以在heroku日志中看到两次相同的请求) 我认为在开始时,由于第一次尝试时出错,请求被请求了两次,但情况并非如此,因为两个请求(我需要的一个和我不需要的第二个)都是在服务器端执行的 有什么想法吗?您是否在启动队列时启用了“精确进度”?如果是这样,ASIHTT会发出一个请求(HEAD)来获取要
有什么想法吗?您是否在启动队列时启用了“精确进度”?如果是这样,ASIHTT会发出一个请求(HEAD)来获取要下载的数据的总大小,然后发出真正的请求。希望有帮助 如果不是这样,请尝试将永久连接设置为“否”,如下所示:
[asiRequest setShouldAttemptPersistentConnection:NO];
据我所知,最新版本的ASIHTTPRequest将永久连接默认为NO。您可以在此处阅读更多内容:
可能是因为连接问题而重新请求?你是说服务器重新请求?问题是请求(我期望的请求+我不希望的请求)都在服务器端处理。你能使用charlesproxy或类似工具来查看出现此问题时向服务器发送和从服务器发送的内容吗?非常好的建议,我不知道这个工具,谢谢!!!通过Charles,我可以看到执行了两个请求(我只希望执行一个请求)。这两个请求的状态代码为200,但对于第一个请求,我有以下消息:“客户端在收到整个响应之前关闭了连接”。不过,返回的两个json字符串都正常。请求的标头将内容长度设置为0,但响应的标头将传输编码显示为chuncked。这可能与chuncked的东西有关吗?我正要回答,但你更快了:)事实上,我设置了“[asiRequest setShouldAttemptPersistentConnection:NO];”现在工作正常。