iOS 网络与多线程--4.同步Post方式的网络请求
通过Post请求方式,同步获取网络数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据
在ViewController.m文件内的viewDidLoad函数添加一下测试代码
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 // Do any additional setup after loading the view, typically from a nib. 4 5 // 1.建立一个网址对象,指定请求数据的网址 6 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; 7 // 2.再通过网址创建网络请求对象. 8 // 参数1:请求访问路径 9 // 参数2:缓存协议 10 // 参数3:网络请求超时时间 11 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; 12 // 3.设置网络通讯方式为Post,默认为Get 13 [request setHTTPMethod:@"POST"]; 14 // 4.设置网络请求的参数 15 NSString *str = @"type=focus-c"; 16 // 5.将请求参数,转换为二进制数据 17 NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; 18 [request setHTTPBody:data]; 19 // 6.使用网络连接对象实现网络通讯,网络连接对象创建成功后,就创建了一个网络连接。 20 NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 21 // 7.将返回的数据转换成字符串并输出 22 NSString *str1 = [[NSString alloc] initWithData:received encoding:NSUTF8StringEncoding]; 23 NSLog(@">>>>>>>%@",str1); 24 }
执行之后就可以根据指定网址获取数据了。