ASIHTTPRequest禁用缓存

时间:2011-10-07 10:17:51

标签: objective-c cocoa asihttprequest asiformdatarequest

我有一个应用程序使用从ASIHTTPRequest&发送的POST表单登录到在线站点。 ASIFormDataRequest。

我有一个登录框,一个.xib,用户输入他们的详细信息。然后,当他们单击“确定”时,它将使用用户输入的详细信息连接到该站点。它发送表格OK等。

但是有一个问题。我首先输入不正确的细节,它连接并告诉我响应的HTML。我可以从HTML中看出细节是不正确的。现在我输入正确的细节,ASI *甚至不打扰连接。 当我首先输入正确的详细信息时,它会告诉我一个不同的html,无论何时我输入正确的登录详细信息都会显示。 所以问题出在缓存中,因为它在第二次请求时不会再次连接,对吧?

我正在使用Little Snitch.app,所以我知道它什么时候连接,什么时候不连接。

现在,问题出现了:“如何在ASIRequests中禁用缓存?”

非常感谢。

班级摘录:http://pastebin.com/a83YCpnm

2 个答案:

答案 0 :(得分:1)

ASIHTTPRequest默认不缓存POST响应 - 请参阅ASIHTTPRequest.m中的以下代码

if (![[self requestMethod] isEqualToString:@"GET"]) {
    [self setDownloadCache:nil];
}

显然还有其他事情发生了 - 你确定这是你正在制作的POST请求吗?你如何启用缓存/创建请求,你能发布一些代码吗?

答案 1 :(得分:0)

好吧我发现了麻烦是什么。我没有重新分配ASIFormDataRequest&每个请求都有ASIHTTPRequest,这会导致其他请求出现问题,因为它正被重用。

因此,请求已被标记为已完成,因此如果有意义,它甚至不会再提出另一个请求。

由于