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 }

执行之后就可以根据指定网址获取数据了。

原文地址:https://www.cnblogs.com/-jpp/p/5018334.html