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

    }];



//這是根據我本身的參數環境寫的博文  各位應用時請根據我的狀況改變代碼  

相關文章
相關標籤/搜索