IOS学习之网络笔记

. 网络请求的步骤

 

 1. 确定地址NSURL

 2. 建立请求NSURLRequest

 3. 建立并启动连接NSURLConnection


 4. 通过代理方法处理网络请求

    遵守协议:NSURLConnectionDataDelegate

 

 . 网络代理方法

 1. 接收到服务器的响应,服务器要传数据,客户端做接收准备

 2. 接收服务器传输的数据,可能会多次执行

 3. 接收数据完成,做后续处理

 4. 服务器请求失败,原因很多(网络环境等等)

 5. 向服务器发送数据,此方法仅适用于POST,尤其上传文件

 

 . GET方法

    NSURL中,指定参数(如果有,也可以不指定参数),例如:http://www.baidu.com

 

 . POST方法

    定义一个可变的URLMutableRequest

 

    1 时长

        [request setTimeoutInterval:2.0f];

    2 请求方式(默认是GET

        [request setHTTPMethod:@"POST"];

    3)  数据体

        NSData *body = [string dataUsingEncoding:NSUTF8StringEncoding];

        [request setHTTPBody:body];

 

 . 同步方法——必须要某个网络请求完成后,才能后续执行,例如网银登录

 

    看到方法参数中包含__autoreleasing字样,在定义的对象名前面加上“&”


    NSURLResponse *response = nil;

    NSError *error = nil;

 

    // 同步操作没有完成,后面的代码不会执行

    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

 

    1> 接收到数据,表示工作正常

    2> 没有接收到数据,但是errornil,表示接收到空数据

       通常服务器没有对该请求做任何响应

    3> error不为空,表示请求出错

 

 . 异步方法

 

     [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *reponse, NSData *data, NSError *error) {

 

        // 请求完成后的处理

     }];

 

    异步方法不用等待网络请求结束


 . NSURLRequest

 

    使用以下实例化方法,可以在实例化的同时,指定请求超时时长。

    1. url

    2. 缓存策略 默认是NSURLRequestUseProtocolCachePolicy

    3. 超时时长

    NSURLRequest *rq = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值