直接上代码就是模拟个过程,NSURLConnection的工作原理就是构造请求头,socket要去连接服务器,然后调用socket向服务器发生请求,请求结束之后,返回了数据,要关闭请求。
//创建统一资源定位符
NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];
//创建请求
NSURLRequest * request=[NSURLRequest requestWithURL:url];
//发送异步网络请求,会创建一个子线程去发送网络请求,服务器返回数据之后需要做的时候就是根据数据更新界面,所以我们要让completionHandler在主队列中完成。
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *
_Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
//response 服务器返回的响应头
//data 服务器返回的响应体也就是服务器返回的数据
//connectionError 就是连接的错误
if(!connectionError)
{
NSString * string=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
[self.webView loadHTMLString:string baseURL:nil];
}
else
{
NSLog(@"%@",connectionError);
}
}];