zoukankan      html  css  js  c++  java
  • NSURLSession实践(结合POST和GET请求JSON和XML数据)

    GET方法解析JSON数据,使用NSJSONSerialization

     1     NSString *appkey = @"bf1d95bd730f031fb019ba80ffabb89d";
     2     NSString *baseURL = @"http://op.juhe.cn/onebox/weather/query";
     3     NSString *url = [baseURL stringByAppendingString:[NSString stringWithFormat:@"?cityname=%@&dtype=&key=%@", @"上海", appkey]];
     4     NSString *urlStr = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
     5     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
     6     request.HTTPMethod =@"GET";
     7     request.timeoutInterval = 20;
     8     request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;
     9     
    10     NSURLSession *session = [NSURLSession sharedSession];
    11     NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
    12         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    13         NSLog(@"%@", [dict allKeys]);
    14     }];
    15     [task resume];

    POST方法解析JSON数据,使用NSJSONSerialization,其他参数和之前一样

     1     //设置请求体
     2     NSString *bodyStr = [NSString stringWithFormat:@"cityname=%@&dtype=&key=%@", @"上海", appkey];
     3     NSString *body = [bodyStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
     4     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:baseURL]];
     5     request.HTTPBody = [body dataUsingEncoding:NSUTF8StringEncoding];
     6     request.HTTPMethod =@"POST";
     7     request.timeoutInterval = 20;
     8     request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;
     9     
    10     NSURLSession *session = [NSURLSession sharedSession];
    11     NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
    12         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    13         NSLog(@"%@", [dict allKeys]);
    14     }];
    15     [task resume];
  • 相关阅读:
    5分钟造出好记又难猜的密码!
    拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布
    VSALM 动手实验
    #VSTS日志# TFS 2015 Update 2 RC2新功能
    用户故事驱动的敏捷开发 – 1. 规划篇
    精益软件开发与精益管理:从一家关闭的汽车厂重焕青春说起
    创建用户故事地图(User Story Mapping)的8个步骤
    用户故事地图(User Story Mapping)之初体验
    (视频) 基于HTML5的服务器远程访问工具
    比较php字符串连接的效率
  • 原文地址:https://www.cnblogs.com/xiayao/p/5265672.html
Copyright © 2011-2022 走看看