1. 程式人生 > >AFNetworking的使用,post、get請求

AFNetworking的使用,post、get請求

AFNetworking

一、post請求

    //url
    NSString *urlString = @"http://47.95.207.40/branch/user/register";
    //初始化一個AFHTTPSessionManager
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //設定請求體資料為json型別
    manager.requestSerializer = [AFJSONRequestSerializer serializer];
    //設定響應體資料為json型別
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    //請求體,引數(NSDictionary 型別)
    NSDictionary *parameters = @{@"username":username,
                                 @"account":account,
                                 @"password":password
                                 };
    [manager POST:urlString parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    }];

二、get請求

AFHTTPSessionManager *manger = [AFHTTPSessionManager manager];
    NSString *url = @"https://is.snssdk.com/api/news/feed/v51/?catagory=";
    url = [url stringByAppendingString:title];
    [manger GET:url parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    }];

三、當引數為表單時

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //這時候請求體引數不是json
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    [manager POST:url parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    //在這裡寫入表單引數
    [formData appendPartWithFormData:[@"refresh_token" dataUsingEncoding:NSUTF8StringEncoding] name:@"grant_type"];
    //refreshData是NSData型別的引數
    [formData appendPartWithFormData:refreshData name:@"refresh_token"];
    } progress:^(NSProgress * _Nonnull uploadProgress) {
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    }];