我正在使用NSURLConnection与服务器连接,使用GET请求。登录我发送一个GET请求与形式的URLNSURLConnection,用错误凭据登录成功
http://<myUserName>:<myPassword>@my.serverurl.com/user/login
一个例子URL将
http://someusername:[email protected]/user/login
当我登录的第一次,我传递正确的用户名和密码,我我能够成功登录,如果我通过不正确的用户名或密码,我收到服务器的回应,说我的用户名和密码不正确..一切都很好然后
但是,当我用正确的用户名/密码登录,进入我的主页。在那里我注销以返回到登录屏幕。现在我输入不正确的用户名和密码,并尝试登录,我得到的回应登录成功..这是我的问题。
这意味着我所有的后续登录请求返回成功与不正确的用户名和密码。我使用浏览器检查了相同的URL(正确和不正确),并且所有内容都按照原样运行。
这是代码我使用登录
-(void)postRequest{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:
@"http://myusername:[email protected]/user/login"]];
[request setHTTPMethod:@"GET"];
// [request setHTTPShouldHandleCookies:NO]; ==> I tried without this first
loginRequestConnection = [[CustomURLConnection alloc]
initCustomURLWithRequest:request
delegate:self
withTAG:LOGIN_REQUEST_CONNECTION];
[request release];
}
现在CustomURLConnection不过NSURLConnection的一个子类,并添加了标签在委托
@interface CustomURLConnection : NSURLConnection{
}
@property()NSInteger tag;
@property(nonatomic, retain) NSMutableData *receivedData;
-(id)initCustomURLWithRequest:(NSURLRequest *)request delegate:(id)delegate withTAG:(NSInteger)tagInt;
@end
我多个连接请求之间,以确定认为问题是NSURLConnection请求将cookie存储在某个地方,并将它们重用于后续请求。这就是为什么我加了
[request setHTTPShouldHandleCookies:NO];
的代码。但有或没有这个问题仍然存在。那么对于什么导致这个问题的其他建议?
试图that..But仍然没有luck..I我仍然能够与不正确的用户名登录/密码.. – Krishnabhadra 2012-04-13 05:39:13
一旦重置模拟器,或者如果您在设备工作,删除你的应用程序一次,也从内存中删除cookies,然后再试一次。 – DivineDesert 2012-04-13 05:40:41
在模拟器和设备上都尝试过。模拟器重新启动,从设备中删除应用程序,在注销时清除cookie并重试..没有运气..当您发布上述评论时,想到相同的步骤.. – Krishnabhadra 2012-04-13 05:44:32