我现在在给我们学院网站做一个iOS客户端。需要验证用户登录的信息。我现在遇到的问题是如何验证登录的账号和密码是否正确。我们学院的登录网站是: http://mis.sse.ustc.edu.cn/default.aspx
先看一下http的抓包信息。
这里是在网站上上登录post过去的头信息。密码是故意输入错误的。
然后看response
这里会告诉我错误的信息。我现在是想获得这个response 。来检查用户是否输入正确的账号和密码。
我的代码如下:
//这里是提交账号密码,登入系统
ASIFormDataRequest *fr = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://enroll.sse.ustc.edu.cn/sseweb/Login.aspx"]];
[fr setUseCookiePersistence:YES];
[fr setUseSessionPersistence:YES];
[fr setPostValue:@"sa1222619" forKey:@"winLogin$txtUserLoginID"];
[fr setPostValue:@"230016" forKey:@"winLogin$sfLogin$txtPassword"];
[fr setPostValue:@"false" forKey:@"winLogin_Hidden"];
[fr setPostValue:@"winLogin$sfLogin$ContentPanel1$btnLogin" forKey:@"__EVENTTARGET"];
[fr setPostValue:@"true" forKey:@"rememberMe"];
[fr setPostValue:@"1" forKey:@"save_login"];
[fr setDelegate:self];
这里是post提交正确的账号和密码 然后在delegate方法中获取request的responstring。
-(void)requestFinished:(ASIHTTPRequest *)request
{
NSData *data = [request responseData];
NSString *dataString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"登入请求成功:%@ ",dataString);
NSDictionary *headersDic = [request responseHeaders];
NSLog(@"%@",headersDic);
//NSString *setCookie = [headersDic objectForKey:@"Set-Cookie"];
// NSString *jsessionId = [setCookie substringWithRange:NSMakeRange(11, 32)];
NSString *jsessionId = @"274C1F14A600EACF11FF49F5970A3C56.tomcat1";
// NSLog(@"jsessionId=====>>> %@",jsessionId);
//把jsessionId存本地
NSUserDefaults *jId = [NSUserDefaults standardUserDefaults];
[jId setValue:jsessionId forKey:@"jsessionId"];
//NSLog(@"网页 ==>>\n%@",[request responseString]);
}
我遇到的问题是 返回的内容一直是登录界面的html代码。 求问我如何获得上面抓包中的response字符串呢