码迷,mamicode.com
首页 > 其他好文 > 详细

Get同步请求

时间:2015-03-03 11:31:20      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

//同步get请求
//    NSURL: iOS 中的URL存储类,可存储网址或者文件路径
   
    NSString *urlString = @"http://api.map.baidu.com/place/v2/search?query=大保健&region=郑州&output=json&ak=6E823f587c95f0148c19993539b99295";
    //创建url
        //url中出现中文的时候,需要转码

    NSURL *url = [[NSURL alloc] initWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    
//    NSURLRequest, url请求类,不能修改请求
//    NSMutableURLRequest , 设置url请求的参数,例如请求方式
    
        //创建请求
    NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:url];
        //请求的最大时长(默认, 60)
    NSLog(@"%f", urlRequest.timeoutInterval);
        //请求的方式(默认, GET)
    NSLog(@"%@", urlRequest.HTTPMethod);
        //缓存策略(不能设置,可以在初始化的时候指定)
//    NSURLRequestUseProtocolCachePolicy:使用协议缓存策略
//    NSURLRequestReloadIgnoringLocalCacheData:不使用本地的缓存,每次都从服务器请求数据
//    NSURLRequestReturnCacheDataElseLoad:先读取缓存,没有缓存,再从服务器端请求数据
//    NSURLRequestReturnCacheDataDontLoad:只从缓存获取(类似离线模式)
    
    NSLog(@"%lu", urlRequest.cachePolicy);
    
    [url release];
    
//    NSURLConnection: 网络连接类,用于发送url请求
        //发送同步请求
    NSURLResponse *response = nil;
    NSError *error = nil;
//    NSData, 存储二进制数据
    NSData *data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];


    NSLog(@"%@", data);

 

      //    NSURLConnection sendSynchronousRequest:<#(NSURLRequest *)#> returningResponse:<#(NSURLResponse *__autoreleasing *)#> error:<#(NSError *__autoreleasing *)#>   

//转成NSString

NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"%@", string);
    
    
    if (error) {
        NSLog(@"%@", error);
    }
    
    if (response) {
        NSLog(@"%@", response);
    }

         //同步请求,当得到数据才会结束,如果数据比较大,会造成程序的假死状态
 
 

Get同步请求

标签:

原文地址:http://www.cnblogs.com/tian-sun/p/4310309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!