如何检查在 iOS 的 url 中发布的用户名和密码是不是有效
Posted
技术标签:
【中文标题】如何检查在 iOS 的 url 中发布的用户名和密码是不是有效【英文标题】:How to check posting username and password valid or not in url in iOS如何检查在 iOS 的 url 中发布的用户名和密码是否有效 【发布时间】:2014-07-17 13:12:58 【问题描述】:我是这个领域的新手。我需要检查用户名和密码是否有效。
我尝试的是我有一个本地 URL,用户名是 23
,密码是 rama
,所以当我将该名称传递给 URL 时,点击该 URL 后,我们会在浏览器中显示“用户名有效”。
但现在我需要在两个textFields
中输入username
和password
,然后单击提交按钮以显示它是否有效。
我关注了this link,但我没有运气。请给我任何想法。
我试过这样没有任何运气:
username = @"23";
password = @"rama";
NSString *postString = [NSString stringWithFormat:@"userid=%@&password=%@",username, password];
NSLog(@"%@", postString);
NSData *postData = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://192.168.3.196:8090/SaveDollar/rest/users/findByUser/userid/password"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
提前致谢。
【问题讨论】:
我说得对吗,您正在检查某个远程数据库中的用户名和密码?或者让我换个说法:输入的数据是否有效,是否来自请求的 URL? @Piotr YES 自带网址 所以逻辑应该在 URL 端。使用您提供的指南。在 URL 端,您可以访问 POST 作为具有两个字段的表:用户名和密码。检查它们是否匹配并返回答案。 @Piotr 请锁定我的密码一次 我不是 ObjC 程序员。我不知道它是否相关,但你的变量名不匹配 - username1,password1 而且我不确定问题出在哪里。服务器端还是客户端? 【参考方案1】:-
使用
NSURLConnectionDelegate.
创建一个类
添加这个方法:
- (void)connection:(NSURLConnection *) connection didReceiveResponse:(NSURLResponse *)response
[_data setLength:0];
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
NSInteger code = [httpResponse statusCode];
if (code >= 200 && code <= 299 )
NSLog(@"~~~~~ Request Maker Success! Code: %ld", (long)code);
else
NSLog(@"~~~~~ Request Maker Error! Code: %ld \n URL: %@", (long)code, _urlSent);
这是您使用您的姓名和密码提出请求的方式。您只需提出请求并等待。 didReceiveResponce
将自动触发。您可以将此代码放入viewDidLoad
或将其连接到您的按钮。
NSString *someurl = @"http://%@:%@/rest?_name=%@&_pwd=%@";
NSString *urlString = [NSString stringWithFormat:someurl, @"address", @"port", @"username", @"password"];
NSString *urlStringFixed = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlStringFixed];
NSLog(@"URL: %@", url);
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
[theRequest addValue: @"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest setHTTPMethod:@"GET"];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (connection)
// Connection exist
更新。
您将需要一些网络服务。我用rama
和23
尝试了你的URL,但它没有响应。
假设您的服务正在运行。如果密码和名称匹配,它将返回代码200.
您可以在浏览器网络检查器中检查代码。无需从您的页面解析网页内容。您的 Objective-C 代码将侦听来自服务器的任何响应。如果code >= 200 and <= 299,
— 一切正常。
【讨论】:
感谢重播,但用户名和密码附加到 Url 但请告诉我如何检查有效用户或不是我的网络服务 有效的用户和密码返回 YES 它无效它返回 NO @PavanAlapati 我更新了我的答案。不要犹豫,提出更多问题。祝你好运。以上是关于如何检查在 iOS 的 url 中发布的用户名和密码是不是有效的主要内容,如果未能解决你的问题,请参考以下文章
在 Cordova 中检查是不是在 iOS 或 Android 上注册了 URL 方案
如何检查用户之前是不是在 iOS 中查看过推送通知权限警报视图?