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 }

执行以后就能够根据指定网址获取数据了。网络

相关文章
相关标签/搜索