如何检查在 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 中输入usernamepassword,然后单击提交按钮以显示它是否有效。

我关注了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
    
    

更新。

您将需要一些网络服务。我用rama23 尝试了你的URL,但它没有响应。

假设您的服务正在运行。如果密码和名称匹配,它将返回代码200. 您可以在浏览器网络检查器中检查代码。无需从您的页面解析网页内容。您的 Objective-C 代码将侦听来自服务器的任何响应。如果code &gt;= 200 and &lt;= 299, — 一切正常。

【讨论】:

感谢重播,但用户名和密码附加到 Url 但请告诉我如何检查有效用户或不是我的网络服务 有效的用户和密码返回 YES 它无效它返回 NO @PavanAlapati 我更新了我的答案。不要犹豫,提出更多问题。祝你好运。

以上是关于如何检查在 iOS 的 url 中发布的用户名和密码是不是有效的主要内容,如果未能解决你的问题,请参考以下文章

如何在golang中检查URL是不是可下载?

如何在 iOS 中检查 SSL 证书的安全性?

在 Cordova 中检查是不是在 iOS 或 Android 上注册了 URL 方案

如何检查用户之前是不是在 iOS 中查看过推送通知权限警报视图?

如何使用 Facebook 的 API 检查用户是不是喜欢我的 Facebook 页面或 URL

如何使用 PHP 检查页面 url 中是不是包含 www?