NSURLSession异步post请求服务器

//先列举用NSURLSession异步post请求服务器javascript

//先初始化一个url和requestjava

NSURL *url=[NSURL URLWithString:@"这里是你须要请求的网址"];json

NSMutableURLRequest *request=[NSMutableURLRequest                      requestWithURL:url];服务器

NSDictionary *jsonDic = [self getJSONdata];session

//这里设置request的请求方法,不设置会默认为get方法app

    request.HTTPMethod=@"POST";框架

//设置request的请求参数 异步

    request.HTTPBody = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];post

    //设置request的请求格式 我这里是json格式  你们能够根据须要改为相应格式url

      [request setValue:@"application/jason" forHTTPHeaderField:@"Content-Type"];


NSURLSession  *session=[NSURLSession sharedSession];

//这里就会异步请求服务器,成功就会进入dict[@"success"];若是失败  请根据出错缘由看看哪里设置错误

    NSURLSessionDataTask *dataTask=[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];

        if (dict[@"error"]) {

            NSLog(@"%@",dict[@"error"]);

        }

        else

        {

            dict[@"success"];

        }

    }];

//千万别忘了这个

[dataTask resume];


//请求的json数据参数

+ (NSDictionary *)getJSONdata

{

    return @{

             @"method": @"marketNotModule",

             @"client": @1,

             @"jsession": @"",

             @"marketCode": @"tencent",

             @"userId": @0,

             @"version": @"3.0.5"

             };

}



//列举第三方框架AFNetworking异步post请求服务器

//和NSURLSession差很少 一样须要请求参数

 NSDictionary *dic;

    dic = [self getDataWillCommitJSON];

    AFHTTPRequestOperationManager *manage = [AFHTTPRequestOperationManager manager];

    manage.responseSerializer = [AFJSONResponseSerializer serializer];

    manage.requestSerializer=[AFJSONRequestSerializer serializer];

//若是不知道下面该传什么参数格式 先别设置下面这行代码 执行就会出错 就能够知道参数格式了 😁

    manage.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/x-javascript", nil];

    //成功就会异步调用进入success,responseObject就是请求到的数据

    [manage POST:@"http://tvfan.cn/clientProcess.do" parameters:dic success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {

        NSLog(@"%@",responseObject);

    } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {

        NSLog(@"%@",error);

    }];



//这是根据我本身的参数环境写的博文  各位应用时请根据我的状况改变代码  

相关文章
相关标签/搜索