Отправка POST-запроса в iPhone с помощью ASIHTTPRequest 1.6.2 - PullRequest
0 голосов
/ 28 сентября 2011

Я использую lib ASIHTTPRequest 1.6.2 для всех http-транзакций в IPhone. Но я не знаю, как я могу опубликовать данные с помощью ASIHTTPRequest в iPhone?

Не могли бы вы дать мне фрагмент кода, который будет работать в iphone? Я использую следующий код для этого. Но я получаю код ответа как 0. Пожалуйста, помогите мне понять, где я иду не так.

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
 [request setPostValue:inputXml forKey:@"inputXml"];
 [request setPostValue:@"qftS6TJN343343V84hw=" forKey:@"key"];
 [request setPostValue:@"1.2" forKey:@"version"];
 [request setRequestMethod:@"POST"];
 [request startAsynchronous];

Ответы [ 4 ]

1 голос
/ 28 сентября 2011

Вы должны использовать ASIFormDataRequest :

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Ben" forKey:@"first_name"];
[request setPostValue:@"Copsey" forKey:@"last_name"];
[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"];
1 голос
/ 28 сентября 2011

Вот как страница.Он охватывает все типы запросов, таких как получение, отправка формы, пользовательская публикация, размещение и т. Д. *

http://allseeing -i.com / ASIHTTPRequest / How-to-use

Вот как настроить его в своем проекте XCode:

http://allseeing -i.com / ASIHTTPRequest / инструкции по установке

Эти инструкции ифрагменты должны работать в iOS.

0 голосов
/ 27 июня 2014
        ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:]];

        NSMutableDictionary *dicData = [[NSMutableDictionary alloc] initWithCapacity:1];
        [dicData setObject:txtPassword.text forKey:@"Password"];
        [dicData setObject:txtEmailID.text forKey:@"Email"];

        [request setPostBody:[[[self parseJsonFromObject:dicData] dataUsingEncoding:NSUTF8StringEncoding] mutableCopy]];

        [request setRequestHeaders:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"application/json", @"Content-Type", nil]];

        [request setDelegate:self];
        [request setDidFinishSelector:@selector(signUpWithEmailFinish:)];
        [request setDidFailSelector:@selector(signUpWithEmailFail:)];
        [request startAsynchronous];

       (void)signUpWithEmailFinish:(ASIHTTPRequest *)request
       {

           if (request.responseStatusCode == 200)
           {

        NSDictionary *responseMessage = [self objectFromJson:request.responseString];
        NSLog(@"ResponseMEssage=%@",responseMessage);
        if (responseMessage)
        {

            if ([responseMessage objectForKey:@"user"] == nil)
            {

                NSLog(@"duplication not allowed");
                [self animation:0];

                return;
            }

            [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_LOGIN_SUCCESS object:nil];
            NSLog(@"Registration Complete");
            UserLoginPage *userLogin=[[UserLoginPage alloc]init];

            [self.navigationController pushViewController:userLogin animated:YES];
            return;
        }

    }

}
0 голосов
/ 28 сентября 2011

Ниже приведен пример кода ...

    ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
    [request appendPostData:[reqString dataUsingEncoding:NSUTF8StringEncoding]];
    [request setRequestMethod:@"POST"];
    [request setDelegate:self];
    [request setTimeOutSeconds:60]; 
    [request startAsynchronous];

Подробное руководство вы можете получить здесь .

...