1. 网络访问的步骤
1> 建立NSURL
2> 建立NSURLRequest
3> 建立NSURLConnection
4> 开始连接
。。。
5> 通过代理NSURLConnectionDataDelegate方法处理网络请求的数据
1.1
1 - (void)baiduSearch:(NSString *)search 2 { 3 //url 4 NSString *urlstring = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@",search]; 5 6 //在网络请求地址中,如果包含中文,需要将中文转换成带百分号的格式 7 urlstring = [urlstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 8 9 10 //1.建立NSURL 11 NSURL *url = [NSURL URLWithString:urlstring]; 12 13 //2.建立NSURLRequest 14 NSURLRequest *requst = [NSURLRequest requestWithURL:url]; 15 16 //3.建立NSURLConnection 17 NSURLConnection *connection = [NSURLConnection connectionWithRequest:requst delegate:self]; 18 19 //4.开始建立连接 20 [connection start]; 21 22 23 }
2.要使用网络的代理方法,必须先遵循他的代理协议NSURLConnectionDataDelegate
1 //以下列出几个常用的代理方法 2 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 3 { 4 //1.该方法用来响应通知,服务器查询完毕。向客户端发送数据 5 } 6 7 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 8 { 9 //2.该方法用来接收数据,接收的服务器数据可能较大,会重复多次接收。 10 } 11 12 - (void)connectionDidFinishLoading:(NSURLConnection *)connection 13 { 14 //3.该方法用来接收处理完成的数据,并且负责显示 15 } 16 17 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 18 { 19 //4.该方法用来当网络状态出现错误时,提供错误信息 20 }