http://blog.csdn.net/xu_code/article/details/19842163
NSURLSession是iOS7中新的网络接口,它与的NSURLConnection是并列的。在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作。如果用户强制将程序关闭,NSURLSession会断掉。 NSURLSession提供的功能:1.通过URL将数据下载到内存2.通过URL将数据下载到文件系统3.将数据上传到指定URL4.在后台完成上述功能在普通的应用场景下NSURLSession与NSURLConnection相比没有什么优势,但是在程序切换到后台之后Background的Session就显得更加灵活一些 NSURLSessionTask
以下是NSURLSession在GET和POST请求下的简单使用: - 一、Get请求
-
-
- NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"];
-
-
- NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];
-
-
-
-
-
-
-
-
-
- NSURLSession *session = [NSURLSession sharedSession];
-
-
- NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
-
-
- NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
-
- [_webView loadHTMLString:html baseURL:url];
- }];
-
-
- [task resume];
-
- 二、Post请求
-
-
- NSString *userName = _userNameText.text;
- NSString *password = _passwordText.text;
-
-
-
- NSURL *url = [NSURL URLWithString:@"http://localhost/~apple/test/login.php"];
-
-
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];
-
-
- request.HTTPMethod = @"POST";
-
-
- NSString *bodyString = [NSString stringWithFormat:@"username=%@&password=%@", userName, password];
- request.HTTPBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
-
-
-
-
-
-
-
-
-
-
- NSURLResponse *response = nil;
- NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
-
- NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
-
- NSLog(@"%@", result);
|