Как загрузить и загрузить данные на сервер в iphone (ios) - PullRequest
2 голосов
/ 05 сентября 2011

Я работаю над приложением под названием «Messanger».

Моя задача - загружать и скачивать данные с сервера и на сервер. Я новичок в этом, поэтому не знаю, как это сделать..

  1. Я хочу поделиться данными с сервером (загрузить)
  2. Я хочу получить данные с сервера (загрузить)

Может ли кто-нибудь помочь мне сэтот ??Мне нужен код для этого.

Заранее спасибо ..

Ответы [ 2 ]

9 голосов
/ 05 сентября 2011

Вы можете использовать классы, предоставленные в официальном SDK.

0) Общая часть.

Прежде всего вы должны создать NSURLRequest.Например, NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"apple.com"]];

1) Загрузка данных.

Если вы хотите отправить некоторые данные, вы можете использовать их следующим образом (например, отправив xml):

NSString *message = [[NSString alloc] initWithFormat:@"<?xml version=\"1.0\" ?>\n<parameters></parameters>"];
NSData* msgData = [message dataUsingEncoding:NSUTF8StringEncoding];
NSString *msgLength = [NSString stringWithFormat:@"%d",[msgData length]];

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

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

2) Загрузка данных.

Теперь вы должны начать соединение:

[NSURLConnection connectionWithRequest:request delegate:self];

3) реализовать необходимые методы делегирования.И, наконец, вы должны реализовать те методы делегирования, которые вам понадобятся.Например, в методе - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data вы будете объединять полученные данные, в методах - (void)connectionDidFinishLoading:(NSURLConnection *)connection и - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error вы должны обрабатывать полученные данные.

Полный список всех методов, которые вы можете реализовать, чтобы получить больше информации оваше интернет-соединение и обрабатывать различные процессы (такие как аутентификация, код ответа и др.), прочитайте официальную документацию: NSURLConnection

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

Вы можете использовать библиотеку ASIHttpRequest . Примеров много, надеюсь, это вам поможет

...