2011-10-07 5 views
0

POST 폼을 사용하여 온라인 사이트에 로그인하는 응용 프로그램이 ASIHTTPRequest & ASIFormDataRequest에서 전송됩니다.ASIHTTPRequest 캐시 사용 중지

사용자가 세부 정보를 입력하는 .xib라는 로그인 상자가 있습니다. 그런 다음 확인을 클릭하면 사용자가 입력 한 세부 정보가있는 사이트에 연결됩니다. OK 등의 형식으로 보냅니다.

그러나 문제가 있습니다. 잘못된 정보를 먼저 입력하고 연결하여 응답의 html을 알려줍니다. html에서 자세한 내용이 잘못되었음을 알 수 있습니다. 이제 정확한 세부 정보를 입력하고 ASI *는 연결을 방해하지 않습니다. 먼저 정확한 세부 정보를 입력하면 올바른 로그를 입력 할 때마다 다른 html이 표시됩니다. 두 번째 요청에서 다시 연결하는 것을 방해하지 않으므로 캐시에 문제가 있습니까?

Little Snitch.app을 사용하고 있습니다. 연결될 때와 연결되지 않을 때를 알고 있습니다.

이제 질문 : "ASIRequests에서 캐시를 어떻게 비활성화합니까?"

고마워요. 클래스의

발췌문 : http://pastebin.com/a83YCpnm

답변

0

문제가 무엇인지 알았습니다. ASIFormDataRequest & ASIHTTPRequest를 각 요청마다 재 할당하지 않았습니다. 재사용 중이기 때문에 다른 요청에 문제가있었습니다.

따라서 요청이 완료로 표시되었으므로 합리적인 경우 다른 요청을하지 않아도됩니다.

감사합니다.

1
이 ASIHTTPRequest 기본적으로 캐시하지 POST 응답을하지

- ASIHTTPRequest.m에 다음 코드를 참조 다른 일어나고 뭔가 분명히있다

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

- 당신이 확신 그것이이다 당신이 만들고있는 POST 요청? 어떻게하면 캐싱/요청 생성이 가능합니까, 몇 가지 코드를 게시 할 수 있습니까?

+0

http://pastebin.com/a83YCpnm <여기는 수업의 일부입니다. 아직 캐싱을 구성하지 않았습니다. cachePolicy를 nil로 설정하려고했으나 다른 속성을 사용할 수는 있지만 작동하지 않았습니다. 나는 setDownloadCache tho를 시도 할 것이다. –