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) {
    }];





猜你喜欢

转载自blog.csdn.net/qq_39696600/article/details/80794380
今日推荐