如何在iphone(ios)上的服务器上传和下载数据

Viv*_*012 2 upload http download nsurlconnection ios

我正在开发名为"Messanger"的应用程序.

我的任务是从服务器上传和下载数据.我是新手,所以我不知道该怎么做.

  1. 我想与服务器共享数据(上传)
  2. 我想从服务器获取数据(下载)

谁能帮我这个 ??我需要这个代码.

提前致谢 ..

Nek*_*kto 9

您可以使用官方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];
Run Code Online (Sandbox Code Playgroud)

2)下载数据.

现在你应该开始连接:

[NSURLConnection connectionWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

3)实现需要的委托方法.最后,您应该实现您需要的委托方法.例如,在方法中,- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data您将合并接收的数据,在方法中- (void)connectionDidFinishLoading:(NSURLConnection *)connection,- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error您应该处理接收的数据.

有关您可以实现的所有方法的完整列表,以接收有关您的Internet连接的更多信息并处理不同的过程(如身份验证,响应代码和其他),请阅读官方文档:NSURLConnection