IOS Object-C 异步Http请求
来源:互联网 发布:淘宝毛菇小象 编辑:程序博客网 时间:2024/04/29 23:08
1、 同步GET请求 //第一步,创建URL NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"]; //第二步,通过URL创建网络请求 NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; //NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒) 其中缓存协议是个枚举类型包含: NSURLRequestUseProtocolCachePolicy(基础策略) NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存) NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载) NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作) NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载) NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载) //第三步,连接服务器 NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding]; NSLog(@"%@",str);2、同步POST请求 //第一步,创建URL NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"]; //第二步,创建请求 NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; [request setHTTPMethod:@"POST"];//设置请求方式为POST,默认为GET NSString *str = @"type=focus-c";//设置参数 NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:data]; //第三步,连接服务器 NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding]; NSLog(@"%@",str1);3、异步GET请求 //第一步,创建url NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"]; //第二步,创建请求 NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; //第三步,连接服务器 NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];4、异步POST请求 //第一步,创建url NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"]; //第二步,创建请求 NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; [request setHTTPMethod:@"POST"]; NSString *str = @"type=focus-c"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:data]; //第三步,连接服务器 NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];5、异步请求的代理方法//接收到服务器回应的时候调用此方法- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ NSHTTPURLResponse *res = (NSHTTPURLResponse *)response; NSLog(@"%@",[res allHeaderFields]); self.receiveData = [NSMutableData data]; }//接收到服务器传输数据的时候调用,此方法根据数据大小执行若干次-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ [self.receiveData appendData:data];}//数据传完之后调用此方法-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ NSString *receiveStr = [[NSString alloc]initWithData:self.receiveData encoding:NSUTF8StringEncoding]; NSLog(@"%@",receiveStr);}//网络请求过程中,出现任何错误(断网,连接超时等)会进入此方法-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ NSLog(@"%@",[error localizedDescription]);
0 0
- IOS Object-C 异步Http请求
- [C#]Http异步请求
- ios HTTP 同步 异步请求
- iOS原生Http请求,get post 异步
- iOS HTTP请求——同步请求、队列式异步请求、异步请求
- 【Objective-C】Http常用API、同步请求与异步请求
- 【Objective-C】Http常用API、同步请求与异步请求
- IOS HTTP 之同步请求、异步请求、GET请求、POST请求
- iOS上的http请求:get、post以及同步、异步
- iOS上的http请求:get、post以及同步、异步
- ios HTTP 同步 异步请求 (全面介绍)
- 异步发送HTTP请求
- Java异步HTTP请求
- Android Http 异步请求
- http异步请求
- HTTP同步/异步请求
- 异步请求http地址
- php异步http请求
- 黑马程序员——day02、c语言知识整合(三)
- poj 1789 Truck History 最小生成树
- 风雨20年:我所积累的20条编程经验
- 耻辱
- Android推送方案分析(MQTT/XMPP/GCM)
- IOS Object-C 异步Http请求
- IOS创建文件
- Altium Designer Summer 9 Build 9.4.0.20159下载地址 + 破解补丁
- poj 2349 Arctic Network 并查集 连通分支数,二分答案
- Unique Binary Search Trees II -- LeetCode
- Unique Binary Search Trees -- LeetCode
- HDOJ 3032 Nim or not Nim Lasker's Nim游戏
- HDOJ 2897 邂逅明下 博弈论
- 叶子华戒烟经历:在家如何练腹肌