NSURLConnection简单使用
来源:互联网 发布:淘宝网店出售偷拍设备 编辑:程序博客网 时间:2024/06/05 20:48
NSURLConnection是iOS自带的网络请求,使用灵活
1.创建一个NSURL
2.通过NSURLRequest 发送
3.在通过NSURLConnection连接
e.g
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@“http://www.baidu.com”]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0]; //第一个参数为请求的url 第二个参数设置缓存机制 第三个参数设置请求超时时间
NSURLConnection *theConncetion=[[NSURLConnection alloc]
initWithRequest:theRequest delegate:self];
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0]; //第一个参数为请求的url 第二个参数设置缓存机制 第三个参数设置请求超时时间
NSURLConnection *theConncetion=[[NSURLConnection alloc]
initWithRequest:theRequest delegate:self];
为了下载url的内容,程序需要提供一个delegate对象,并且至少实现下面的四个方法
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response:
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
以上是ios2就开始支持的异步请求!!!!
以上是ios2就开始支持的异步请求!!!!
iOS5以后苹果公司推出了NSURLConnection 与代码块结合的异步请求,这种方法省去了上面4个方法的实现,而是运用代码快
e.g
- - (void)httpAsynchronousRequest{
- NSURL *url = [NSURL URLWithString:@"http://url"];
- NSString *post=@"postData";
- NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
- [request setHTTPMethod:@"POST"];
- [request setHTTPBody:postData];
- [request setTimeoutInterval:10.0];
- NSOperationQueue *queue = [[NSOperationQueue alloc]init];
- [NSURLConnection sendAsynchronousRequest:request
- queue:queue
- completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
- if (error) {
- NSLog(@"Httperror:%@%d", error.localizedDescription,error.code);
- }else{
- NSInteger responseCode = [(NSHTTPURLResponse *)response statusCode];
- NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
- NSLog(@"HttpResponseCode:%d", responseCode);
- NSLog(@"HttpResponseBody %@",responseString);
- }
- }];
- }
0 0
- NSURLConnection简单使用
- NSURLConnection的简单使用
- NSURLConnection简单使用
- IOS--简单的网络NSURLConnection的使用
- 简单使用NSURLConnection、NSURLRequest和NSURL
- 使用NSURLConnection实现简单的单点下载
- 使用Block对POST异步操作的简单封装,NSURLConnection
- iOS 使用NSURLConnection简单代码实现网络访问
- NSURLConnection的使用
- 使用NSURLConnection教程
- NSURLConnection的使用
- 如何使用NSURLConnection
- NSURLConnection使用解析
- NSURLConnection的使用
- 使用NSURLConnection实现断点续传。
- NSURLConnection的使用
- NSURLConnection基本使用
- NSURLConnection基本使用
- 深入浅出gstreamer开发
- java学习笔记之length、length()和size()
- 游戏测试之我思与我想
- MFC的GDI对象的构造与释放
- Annotation注解----详解(3)
- NSURLConnection简单使用
- tiny6410裸机实验第5章--------------DDR(物理地址,链接地址,虚拟地址,地址无关码)
- QT信号与槽的机制
- C++何时才提供默认构造函数
- 对c++的认识
- automake/autoconf打包简单实例
- 子墨对酒《三国杀》里论模式(伍)模板方法
- VM之GC篇(gc.h)
- nyoj-453-小珂的烦恼