ASIHttpRequest发送一个奇怪的状态代码为零。没有到达服务器

时间:2010-11-24 04:39:09

标签: asihttprequest

我在我的iPhone应用程序中使用ASIHTTPRequest框架来管理HTTP通信。我按照项目主页中给出的示例发送异步请求。我们必须实现两个回调,一个用于requestFinish,另一个用于requestFailed。

但是,iPhone发送的60%的请求最终都在“requestFinish”回调方法中,并提供了有效的HTTP状态代码。但有时它会转到“requestFailed”回调,状态代码变为“0”,令人困惑。 我的调查显示互联网连接正常,我将请求发送到正确的URL,但是在服务器日志中找不到日志消息。 那么为什么请求在中间被随机丢弃?有没有人遇到过这类问题。会非常有帮助的。

由于

3 个答案:

答案 0 :(得分:5)

您是否正在查看ASIHTTPRequest对象的状态代码?该代码只是一个HTTP响应代码 - 如果你没有得到响应,那么它应该为零。

相反,您希望查看委托失败回调为您提供的NSError对象。

我会使用类似的东西:

NSLog(@"%@",[error localizedErrorDescription]);

打印到日志错误是什么。当然,“error”是方法签名中变量的名称 - 你应该仔细检查一下,我认为这是默认值。

答案 1 :(得分:1)

[ASHTTPRequest initialize]中,我更改了

[sharedQueue setMaxConcurrentOperationCount:4]

[sharedQueue setMaxConcurrentOperationCount:10]

这项工作适合我,但我不知道为什么。

MORE:

我找到了this

答案 2 :(得分:0)

除了phooze建议的内容之外,您还可以启用ASIHTTPRequestConfig.h中的日志记录,这可能会提供有关正在发生的事情的线索。