iOS 网络与多线程--2.同步Get方式的网络请求(阻塞)

时间:2021-01-12 05:21:02

通过Get请求方式同步获取网络数据。一旦发送同步请求,程序将停止用户交互,直至服务器返回数据。

之后在视图控制器文件(ViewController.m)内添加以下代码

在viewDidLoad函数内添加测试代码

     // 建立一个网址对象,指定请求数据的网址
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
// 在通过网址,创建网络请求对象。
// 参数1:请求访问路径
// 参数2:缓存协议
// 参数3:网络请求超时时间。
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:
NSURLRequestUseProtocolCachePolicy timeoutInterval: ];
// 使用网络连接对象,实现网络通信,网络对象创建成功后,就创建了一个网络连接。
NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; // 将返回的数据,转成字符串
NSString *str = [[NSString alloc] initWithData:received encoding:NSUTF8StringEncoding]; NSLog(@"%@",str);

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