带有登录参数的 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的主要内容,如果未能解决你的问题,请参考以下文章

带有令牌参数的 https URL:它有多安全?

H5页面单点登录跳回首页 http url参数转义

Spring MVC 重定向在 url 中添加了一些参数

无法使用 % url % 模板标签正确生成带有捕获参数的 URL

从 URL 获取查询参数,该 URL 又具有一些带有查询参数的 URL

使用 URL 中的请求参数从页面重定向