如何使用AFNetworking框架与json一起使用我自己的api登录我有令牌要传递,但我现在不知道如何使用这些令牌



我如何使用AFNetworking Framework来验证和登录我的IPhone应用程序我有自己的api,并有一些令牌,如X-User-Email、X-User-Token。我不知道我该怎么处理这些代币,也许有人能帮我做

我正在使用一些代码搜索许多方法,但没有得到确切的信息。我必须做更多的吗

我已经给出了这样的代码,但我不知道在哪里给代币

{  
  if([[userNameTF text] isEqualToString:@""] || [[passWordTF text] isEqualToString:@""] ) {
        [self alertStatus:@"Please enter both Username and Password" :@"Login Failed!"];
    } else {
        NSString *post =[[NSString alloc] initWithFormat:@"user[email]=%@&user[password]=%@",[userNameTF text],[passWordTF text] ];
        NSLog(@"PostData: %@",post);
        NSURL *url=[NSURL URLWithString:@"http://secure.sample.in/login"];
        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
        NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:url];
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:postData];
        //[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];
        NSError *error = [[NSError alloc] init];
        NSHTTPURLResponse *response = nil;
        NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
        NSLog(@"Response code: %d", [response statusCode]);
        if ([response statusCode] >=200 && [response statusCode] <300)
        {
            NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
            NSLog(@"Response ==> %@", responseData);
            SBJsonParser *jsonParser = [SBJsonParser new];
            NSDictionary *jsonData = (NSDictionary *) [jsonParser objectWithString:responseData error:nil];
            NSLog(@"%@",jsonData);
            NSInteger success = [(NSNumber *) [jsonData objectForKey:@"id"] integerValue];
            NSLog(@"%d",success);
            if(success == 1)
            {
                NSLog(@"Login SUCCESS");
                [self alertStatus:@"Logged in Successfully." :@"Login Success!"];
            } else {
                NSString *error_msg = (NSString *) [jsonData objectForKey:@"error_message"];
                [self alertStatus:error_msg :@"Login Failed!"];
            }
        } else {
            if (error) NSLog(@"Error: %@", error);
            [self alertStatus:@"Connection Failed" :@"Login Failed!"];
        }
    }
}
@catch (NSException * e) {
    NSLog(@"Exception: %@", e);
    [self alertStatus:@"Login Failed." :@"Login Failed!"];
}

Request希望使用AFNetworking:

//Create parameter dictionary
NSDictionary *dictParameters = [NSDictionary dictionaryWithObjectsAndKeys:strEmailHere,@"email",strPasswordHere,@"password",nil];
//create post request 
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//pass serializer may be http or json
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; //[AFJSONResponseSerializer serializer];
AFHTTPRequestOperation *apiRequest = [manager POST:strURL parameters:dictNewParameter success:^(AFHTTPRequestOperation *operation, id responseObject)
{
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
}];

相关内容

最新更新