带有登录参数的 URL
Posted
技术标签:
【中文标题】带有登录参数的 URL【英文标题】:URL with login parameter 【发布时间】:2013-02-14 17:19:09 【问题描述】:一段时间以来,我一直在摸索这个问题。假设我有一个这样的网址
//myurl/index.jsp?user_name=bob&user_pwd=new
以及我的应用程序上的登录表单,其中包含用户名和密码 texfields 以及登录按钮。当用户输入“bob”作为用户名和“new”作为密码时,我想推送到另一个视图控制器。
我知道如何使用标准硬编码方式执行此操作,但我想尝试通过发布到 url/webservice 的方式。
你是怎么做到的?
【问题讨论】:
使用像 AFNetworking 这样的库? 【参考方案1】: NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSString *url = @"http://myurl/index.jsp?"; //your url
NSString *post = [NSString stringWithFormat:@"user_name=%@&user_pwd=%@",UserName,Password] ;
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
[request setURL:[NSURL URLWithString:url]];
[request setTimeoutInterval:20]; //time out interval
request.HTTPMethod = @"POST";
[request setHTTPBody:postData];
NSError *error;
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data=[[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"Login response %@ :",data);
[request release];
【讨论】:
【参考方案2】:我会使用 AFNetworking 库。您使用块运行请求,因此您可以运行成功块,如果登录成功,您可以推送新的视图控制器,如果失败,您可以抛出 UIAlert 或其他东西。您只需从 UITextFields 中获取用户名和密码文本并将其放入您的 URL 请求中。
更多关于 AFNetworking 的信息如下。也比标准 NSHTTP 请求更快。
AFNetworking
【讨论】:
以上是关于带有登录参数的 URL的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 % url % 模板标签正确生成带有捕获参数的 URL