Created
September 2, 2013 07:55
-
-
Save zhangwc/6410281 to your computer and use it in GitHub Desktop.
iOS NSURLConnection 同步异步GET、POST请求
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1、同步GET请求 | |
NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"]; NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10]; | |
其中缓存协议是个枚举类型包含: | |
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请求 | |
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]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment