Как отправить логин и пароль на сервер с помощью ASIHTTPRequest? - PullRequest
0 голосов
/ 06 декабря 2011

Я довольно новичок во всем, что касается http и тому подобного, и я почти ничего не знаю о том, как работают методы http, поэтому мне нужен ваш совет. В моем приложении я должен отправить логин и пароль на сервер и получить ответ. К настоящему времени я пытаюсь написать метод (он называется STUB по-английски), который будет работать в общем случае без связи с реальным сервером. Должен ли я использовать метод POST таким образом, как:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:some_server_url];
[request addPostValue:passwordString forKey:loginString];

или что-то еще? Если сначала, как я могу получить ответ от сервера? Не могли бы вы показать мне несколько строк кода?

1 Ответ

1 голос
/ 06 декабря 2011

Вы можете передать данные для входа на сервер, используя метод HTTP POST следующим образом:

-(NSDictionary*)userLogIn:(NSMutableDictionary*)inputDictionary{


    SBJSON *parser = [[SBJSON alloc] init];
    NSString *convertedString=[NSString stringWithFormat:@"login=%@&password=%@",username, password];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"Give the url here"]];     
    [request setHTTPBody:[convertedString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:@"XXXX" forHTTPHeaderField:@"USER_AGENT"];
    [request setHTTPMethod:@"POST"];    

    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];    

    NSString *json_string = [[NSString alloc] initWithData:response encoding:NSASCIIStringEncoding];

    NSDictionary *statuses = [parser objectWithString:json_string error:nil];   
    [parser release];

    [json_string release];  

    return statuses;


}       

Это пример кода, который необходимо изменить в соответствии с вашими требованиями.

...