iOS网络请求-NSURLConnection
2016-06-03 13:17
316 查看
iOS网络发送网络请求的步骤:
1、实例化URL(网络资源)
2、根据URL建立URLRequest(网络请求)
- 默认为GET请求
- 对于POST请求,需要创建请求的数据体
3、利用URLConnection发送网络请求(建立连接)
4、获得结果
常用类:
NSURL:请求地址
NSURLRequest:一个NSURLRequest对象就代表一个请求,它包含的信息有
一个NSURL对象、请求方法、请求头、请求体、请求超时
… …
NSMutableURLRequest:NSURLRequest的子类
NSURLConnection:负责发送请求,建立客户端和服务器的连接,发送NSURLRequest的数据给服务器,并收集来自服务器的响应数据
NSURLConnection提供了两个静态方法可以直接以同步或异步的方式向服务器发送网络请求:
同步请求:sendSynchronousRequest:returningResponse:error:
异步请求:sendAsynchronousRequest:queue: completionHandler:
NSURLConnection的使用步骤:
使用NSURLConnection发送请求的步骤很简单
1、创建一个NSURL对象,设置请求路径
2、传入NSURL创建一个NSURLRequest对象,设置请求头和请求体
3、使用NSURLConnection发送NSURLRequest
网络传输之二进制数据流:在网络请求过程中,接收数据的过程实际上是通过NSURLConnectionDataDelegate来实现的,常用代理方法包括:
创建GET和POST请求:
使用代理实现关联性较强的业务逻辑时:
1、代理方法较多,比较分散
2、要处理一个请求,需要在很多地方编写代码
3、不利于逻辑实现、代码编写、调试、维护以及扩展
4、尤其当存在多个请求时会变得非常麻烦
1、实例化URL(网络资源)
2、根据URL建立URLRequest(网络请求)
- 默认为GET请求
- 对于POST请求,需要创建请求的数据体
3、利用URLConnection发送网络请求(建立连接)
4、获得结果
常用类:
NSURL:请求地址
NSURLRequest:一个NSURLRequest对象就代表一个请求,它包含的信息有
一个NSURL对象、请求方法、请求头、请求体、请求超时
… …
NSMutableURLRequest:NSURLRequest的子类
NSURLConnection:负责发送请求,建立客户端和服务器的连接,发送NSURLRequest的数据给服务器,并收集来自服务器的响应数据
NSURLConnection提供了两个静态方法可以直接以同步或异步的方式向服务器发送网络请求:
同步请求:sendSynchronousRequest:returningResponse:error:
异步请求:sendAsynchronousRequest:queue: completionHandler:
NSURLConnection的使用步骤:
使用NSURLConnection发送请求的步骤很简单
1、创建一个NSURL对象,设置请求路径
2、传入NSURL创建一个NSURLRequest对象,设置请求头和请求体
3、使用NSURLConnection发送NSURLRequest
网络传输之二进制数据流:在网络请求过程中,接收数据的过程实际上是通过NSURLConnectionDataDelegate来实现的,常用代理方法包括:
//服务器开始返回数据,准备工作 (void)connection:didReceiveResponse: //收到服务器返回的数据,本方法会被调用多次 - (void)connection:didReceiveData: //数据接收完毕,做数据的最后处理 (void)connectionDidFinishLoading: //网络连接错误 - (void)connection:didFailWithError:
创建GET和POST请求:
//创建GET请求 NSString *urlStr = [@"http://192.168.1.102:8080/Server/login?username=123&pwd=123" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:urlStr]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; //创建POST请求 NSString *urlStr = @"http://192.168.1.102:8080/Server/login"; NSURL *url = [NSURL URLWithString:urlStr]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"POST"; // 请求体 NSString *bodyStr = @"username=123&pwd=123"; request.HTTPBody = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];
使用代理实现关联性较强的业务逻辑时:
1、代理方法较多,比较分散
2、要处理一个请求,需要在很多地方编写代码
3、不利于逻辑实现、代码编写、调试、维护以及扩展
4、尤其当存在多个请求时会变得非常麻烦
相关文章推荐
- android wifi 无线调试
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 拨号网络的简单知识
- 菜鸟必看网络名词
- 通晓网络测试常用命令
- 网络路由技术及运用2
- IP网络路由技术
- 网络防火墙的设置技巧
- 网络管理之IP地址篇
- 网络路由技术及运用3
- 网络路由技术及运用4
- 网络路由技术及运用1
- 无线局域网络简介一