美文网首页
1.1 网络请求-同步请求

1.1 网络请求-同步请求

作者: 草根小强 | 来源:发表于2019-04-17 15:41 被阅读0次

    网络请求-同步请求

    1. NSString方式
    2. NSData方式
    3. NSURLConnection方式

    1同步请求

    NSString

    #pragma mark ---同步请求---
    
    //NSString
    - (void)stringSync {
        //用NSSting 做一个同步请求
        //URL:表示要请求的接口
        //encoding:编码格式
        //error:错误日志
        
        NSURL *url = [NSURL URLWithString:QiuBai];
       
        //声明一个错误的对象
        __autoreleasing NSError *error = nil;
        NSString *message = [NSString stringWithContentsOfURL:url encoding: NSUTF8StringEncoding error:&error];
        
        //打印请求结果
        //请求成功,就打印message
        //请求失败,就打印错误日志
        
        if (error == nil) {
            //表示成功
            NSLog(@"%@",message);
        }else {
            NSLog(@"%@",error);
        }
        
        //JSON转成字典
    //    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:<#(NSData *)#> options:<#(NSJSONReadingOptions)#> error:<#(NSError *__autoreleasing *)#>];
    }
    
    

    2. NSData

    //NSData
    - (void)dataSync {
        
        //用NSData 做一个同步请求
        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:IMG_URL]];
        NSLog(@"%@",data);
        //解释Data中的数据
       NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"%@",dict);
        
        //如果这个数据是字典,我们可以通过上面的这个方法快速的转成字典。
        
        //把请求到的数据转成Image
        UIImage *image = [UIImage imageWithData:data];
        NSLog(@"image");
    }
    
    

    3. NSURLConnection 已废弃

    //NSURLConnection
    - (void)connectionSync {
        //NSURLConnection 是苹果提供的一种数据请求类,已废弃
        
        //NSURLRequest 数据请求
        //NSURLResponse 响应
        //NSError 错误日志
        
        //制作一个请求对象
        NSURLRequest *requst = [NSURLRequest requestWithURL:[NSURL URLWithString:QiuBai]];
        
        //响应是服务器给的,我们需要做的就是声明一个对象,来接收响应
        __autoreleasing NSURLResponse *res = nil; //这是一个响应头
        NSData *data = [NSURLConnection sendSynchronousRequest:requst returningResponse:&res error:nil];
        
        NSLog(@"%@",res);
        
        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"%@",dict);
    }
    

    相关文章

      网友评论

          本文标题:1.1 网络请求-同步请求

          本文链接:https://www.haomeiwen.com/subject/rbsnwqtx.html