1、网路请求的步骤: 1.肯定地址NSURL 2.创建NSURLRequest 3.创建并启动链接NSURLConnection 经过代理方法处理网络请求 遵照协议:NSURLConnectionDataDelegate 2、网路代理方法 1.接受呆服务器的响应,服务器要传数据,客户端作接收准备 2.接收服务器传输的数据,可能会屡次执行 3.接收数据完成,作后续处理 4.服务器请求失败,缘由不少(网路环境等等) 5.向服务器发送数据,此方法经适用于POST,尤为上传文件 3、GET方法 在NSURL中指定参数(若是有,就能够不指定参数),例如:http://www.baidu.com 4、POST方法 定义一个可变的URLMutableRequest 1)时长 [request setTimeOutInterVal:2.0f]; 2)请求方式(默认是GET) [request setHTTPMethod:@"POST"]; 3)数据体 NSData *body = [string dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:body]; 5、同步方法--必需要摸个网路请求完成后,才能后续执行,例如网银登录 看到方法参数中包含__autoreleasing字样,在定义对象名前面加上"&" NSURLResponse *response = nil; NSError *error = nil; 同步操做没用完成,后面的代码不会执行 NSData *data = [NSURLConnecion sendSynchronousRequest:request returningResponse:&response error:&error]; 1>接受到数据,表示工做正常 2>没有接受到数据,可是error为nil,表示接收到空数据 一般服务器没有对该请求作任何响应 3>error不为空,表示请求出错 6、异步方法 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *reponse, NSData *data, NSError *error) { // 请求完成后的处理 }]; 异步方法不用等待网路请求结束 7、NSURLRequest 使用如下实例化方法,能够在实例化的同时指定请求超时时长。 1.url 2.缓存策略 默认是NSURLRequestUseProtocolCachePolicy 3.超时时长 NSURLRequest *rq = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];