您的位置:首页 > 理论基础 > 计算机网络

iOS网络篇-URLConnection基本使用

2016-01-12 12:19 726 查看
知识点

1.HTTP协议的简介(见上节)

2.URLConnection同步请求

3.URLConnection异步请求

4.URLConnection异步请求Block版本

5.URLConnectionPOST请求

6.URLConnection的封装

==================================

2.NSURL,用OC中用来表示URL的类

创建URL:

[NSURL URLWithString:urlStr];


=====================================

3.NSURLRequest,用来表示一个请求

//创建Request:
[NSURLRequest requestWithURL:url];
//创建带超时的Request
[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:0.01f];

//创建可变的Request,可修改Request的属性,如Method等,POST用到
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"POST";

//设置请求体
NSString *paramStr = @"username=qf1508&password=123456";
request.HTTPBody = [paramStr dataUsingEncoding:NSUTF8StringEncoding];


=====================================

4.NSURLConnection,表示一个请求响应的连接

//发送同步请求
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

//发送异步请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {}];

//发送异步请求,delegate版本
[NSURLConnection connectionWithRequest:request delegate:self];


=====================================

4.NSURLConnection的Delegate回调函数

//接收到服务器的响应
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;

//接收到服务器发送过来的数据,数据是分段发给我们的,所以这个方法会被调用多次
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;

//服务器所有的数据都发送完成之后,会调用这个方法
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;

//请求失败(url不合法、超时、网络中断等等)时会调用这个方法
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;


=====================================

:ios9.0不支持http ,推荐https

1接口是https

2修改info.plist

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS-网络篇