iPhone: Как получить данные из веб-службы, где веб-служба использует метод «POST» для JSON? - PullRequest
0 голосов
/ 29 сентября 2011

Я хочу получить данные из веб-службы, используя JSON в моем приложении.

Веб-служба разработана на C # и использует метод POST для передачи данных.

Я нашел один пример , но он полезен только для GET метода?

Итак, как мне fetch данные JSON, когда веб-служба использует POST метод?

И я также хочу send данные для веб-службы. Как я могу это сделать?

1 Ответ

2 голосов
/ 29 сентября 2011

Я отправляю запрос POST следующим образом (отправка xml с некоторыми параметрами).

    NSString *message = [[NSString alloc] initWithFormat:@"<?xml version=\"1.0\" ?>\n<parameters></parameters>"];

    NSURL *url = [NSURL URLWithString:@"https://www.site.com"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    NSString *msgLength = [NSString stringWithFormat:@"%d",[message length]];

    [request addValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [request addValue:msgLength                         forHTTPHeaderField:@"Content-Length"];

    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[message dataUsingEncoding:NSUTF8StringEncoding]];
    [message release];

    self.connection = [NSURLConnection connectionWithRequest:request delegate:self];

Для сбора данных необходимо реализовать метод:

    - (void)connection:(NSURLConnection *)conn didReceiveData:(NSData *)data

где вы должны сохранить полученные данные.

В методе:

    - (void)connectionDidFinishLoading:(NSURLConnection *)conn

вы можете проанализировать эти данные с помощью JSON -парсера.

Надеюсь, это поможет вам. Если у вас возникнут вопросы по поводу этого кода, задавайте их в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...