iOS网络请求GET方式与POST方式

pragma mark 总结:常用的请求方式有两种, 一个是GET, 一个是POST, 他两本质上没有任何区别, 只是post在请求的时候需要添加一个body, 同步和异步: 都使用异步的方式进行加载, 加载过程中还可以操作其他的功能, 不会出现卡死的情况, 从同步演化出异步, 请求分为三步: 1. 创建URL 2. 创建请求request, 3. 建立连接, 完成数据请求, iOS9.0之后, NSURLConnection用的越来越局限, NSURLSession未来更重要

// 同步get请求
NSString *strURL = @"http://api.map.baidu.com/place/v2/search?query=银行&region=大连&output=json&ak=6E823f587c95f0148c19993539b99295";

    // 因为网址里不允许有汉字, 只能有26个字母的大小写, 数字, 和一些指定的符号, 比如&, %, / 等, 所有有中文的网址要先把中文变成相对应的数字编码
    // 时间戳
    NSString *strURLEncode = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    // 1. 创建一个URL
    NSURL *url = [NSURL URLWithString:strURLEncode];
    // 2. 发送一个请求
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    // 3. 建立一个连接
    // 闲来无事的时候看看NSURLSession
    // 参数1: 把创建好的请求发送
    // 参数2: 返回的响应信息
    // 参数3: 错误信息
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    // 4. 把data进行json解析
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    NSLog(@"%@", dic);
    NSLog(@"*******************%@", response);





// post请求需要在请求的过程里, 添加一个body, 添加之后才可以获取数据
     NSString *urlStr = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx";
    // 1. 创建一个URL
    NSURL *url = [NSURL URLWithString:urlStr];
    // 2. 创建一个请求
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    // 指定请求的方式, 默认是get请求
    [request setHTTPMethod:@"post"];
    // body的字符串
    NSString *bodyStr = @"date=20131129&startRecord=1&len=30&udid=1234567890&terminalType=Iphone&cid=213";
    // body的字符串变成NSData
    NSData *dataBody = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];
    // 把bodydata放到request中
    [request setHTTPBody:dataBody];
    // 3. 建立连接
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    // 4. json 解析
    NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
   //    NSLog(@"%@", dic);
    //NSLog(@"%@", string);
    // 打印summary对应的内容
    NSMutableArray *arr = dic[@"news"];
    for (NSDictionary *dic in arr) {
        NSLog(@"\n");
        NSLog(@"\n");
        NSLog(@"**********************************************%@", dic[@"summary"]);
        NSLog(@"\n");
        NSLog(@"\n");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值