ios 同步Get请求的实现

   //第一步,创建URL  

   NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/search?term=微信&entity=software"];

   //第二步,通过URL创建网络请求

    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

    //第三步,连接服务器

    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];    

    NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];

    NSLog(@"%@",str);     //就这么简单,到这里就完成了,str就是请求得到的结果

 

注:第二步中的参数解释如下:

    //NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒)

    //其中缓存协议是个枚举类型包含:

    //NSURLRequestUseProtocolCachePolicy//(基础策略)

    //NSURLRequestReloadIgnoringLocalCacheData//(忽略本地缓存)

    //NSURLRequestReturnCacheDataElseLoad//(首先使用缓存,如果没有本地缓存,才从原地址下载)

    //NSURLRequestReturnCacheDataDontLoad//(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作) www.2cto.com

    //NSURLRequestReloadIgnoringLocalAndRemoteCacheData//(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)

    //NSURLRequestReloadRevalidatingCacheData//(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)

    

posted @ 2013-09-21 18:49  I'm 小菜鸟  阅读(5512)  评论(0编辑  收藏  举报