网络请求

 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];
    
相关文章
相关标签/搜索