我正在研究名爲「Messanger」的應用程序。如何上傳和下載iphone服務器上的數據(ios)
我的任務是上傳和和服務器下載數據.. 我是新來這個,所以我不知道該怎麼做。
- 我想與服務器(上傳)共享數據
- 我想從服務器(下載)獲取數據
誰能幫我這個? 我需要此代碼。
在此先感謝..
我正在研究名爲「Messanger」的應用程序。如何上傳和下載iphone服務器上的數據(ios)
我的任務是上傳和和服務器下載數據.. 我是新來這個,所以我不知道該怎麼做。
誰能幫我這個? 我需要此代碼。
在此先感謝..
你可以使用官方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
中,您應該處理收到的數據。
有關,你可以實現接收有關您的Internet連接的更多信息,並處理不同的處理(如身份驗證,響應代碼等)中的所有方法的完整列表請參考官方文檔:NSURLConnection
可以使用ASIHttpRequest庫。有很多例子,希望它能幫助你
這是一個偉大的答案,但是,有一個技術不準確。內容長度是字節數,而不是字符數。請允許我進行更改。 (參考:http://stackoverflow.com/a/2773411/456434) – Mazyod
@Mazyod謝謝你的版本! – Nekto