Сеть Objective C с Robinhood API - PullRequest
       18

Сеть Objective C с Robinhood API

0 голосов
/ 08 апреля 2019

Я начинаю изучать дескриптор сети Objective C. Я хотел бы разработать приложение, которое использует Robinhood API. Я нашел API на Github по поводу входа в систему. https://github.com/sanko/Robinhood/blob/master/Authentication.md#logging-in

curl -v https://api.robinhood.com/api-token-auth/ \ 
-H "Accept: application/json" \
-d "username={username}&password={password}"

Это запрос POST, и я написал свой код так:

NSString *credianls = [NSString stringWithFormat:@"username=%@&password=%@",self.usernameField.text, self.passwordField.text];
NSData* data = [credianls dataUsingEncoding:NSUTF8StringEncoding];

    NSURL *url = [NSURL URLWithString:@"https://api.robinhood.com/api-token-auth/"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setHTTPBody:data];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:[NSString stringWithFormat:@"%d",[data length]] forHTTPHeaderField:@"Content-length"];

    __block NSMutableDictionary *resultsDictionary;
    [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse* response,NSData* data,NSError* error)
    {
        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
        NSLog(@"response status code: %ld", (long)[httpResponse statusCode]);
        if ([data length]>0 && error == nil) {
            resultsDictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
            NSLog(@"resultsDictionary is %@",resultsDictionary);

        } else if ([data length]==0 && error ==nil) {
            NSLog(@" download data is null");
        } else if( error!=nil) {
            NSLog(@" error is %@",error);
        }
    }];

Понятия не имею, почему это не работает. Я всегда получаю код статуса 404. Может ли кто-нибудь дать мне несколько советов по этому поводу, пожалуйста? Большое спасибо!

...