AFNotworking

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

//先初始化一个url和request

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

NSMutableURLRequest *request=[NSMutableURLRequest                      requestWithURL:url];

NSDictionary *jsonDic = [self getJSONdata];

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

    request.HTTPMethod=@"POST";

//设置request的请求参数 

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

    //设置request的请求格式 我这里是json格式  大家可以根据需要改成相应格式

      [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);

    }];



你可能感兴趣的:(AFNotworking)