How to do GET request via AFNetworking?

后端 未结 5 1343
你的背包
你的背包 2020-12-31 16:49

I added directories AFNetworking and UIKit+AFNetworking to project manager. I use latest library 3.0.4

After I imported file AFNetwor

相关标签:
5条回答
  • 2020-12-31 16:55
    (void)postDatabyAF{
    
    NSString *url;
    
    NSDictionary *dict;
    
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    
    manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:
                                  NSJSONReadingAllowFragments];
    
    [manager POST:url parameters:dict success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
    
        NSLog(@" operation.responseData  %@",operation.responseData);
        NSLog(@" operation.response %@",operation.response);
        NSLog(@"statusCode %ld",operation.response.statusCode);
    
    } failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) {
    
        if (error) {
    
        }
        else{
    
    
        }
    }];
    

    }

    0 讨论(0)
  • 2020-12-31 17:05
    please try below answer.
    +(void)callAFWS:(NSDictionary *)dict withURL:(NSString *)strUrl 
    withToken:(NSString *)strToken withBlock:(dictionary)block
    {
    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    
    [manager.requestSerializer setValue:strToken forHTTPHeaderField:@"Authorization"];
    
    [manager GET:[NSString stringWithFormat:@"%@/%@",WebserviceUrl,strUrl] parameters:dict progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        if (!responseObject)
        {
            NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
            [dict setObject:ServerResponceError forKey:@"error"];
            block(responseObject);
            return ;
        }
        block(responseObject);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
        [dict setObject:ServerResponceError forKey:@"error"];
        block(dict);
    }];
    }
    
    0 讨论(0)
  • 2020-12-31 17:16
    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://google.com/"]];
    NSMutableURLRequest *request = [httpClient requestWithMethod:@"GET"
                                                            path:@"http://google.com/api/pigs/"
                                                      parameters:nil];
    
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    
    [httpClient registerHTTPOperationClass:[AFHTTPRequestOperation class]];
    
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    
        // Print the response body in text
        NSLog(@"Response: %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
    
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
    [operation start];
    

    =============================================

    You can also use AFHTTPRequestOperation:

    NSOperationQueue *networkQueue = [[NSOperationQueue alloc] init];
    
    networkQueue.maxConcurrentOperationCount = 5;
    
    NSURL *url = [NSURL URLWithString:@"https://example.com"];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] 
    initWithRequest:request];
    
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    
    
        NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
    
        NSLog(@"%@", string);
    
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    
        NSLog(@"%s: AFHTTPRequestOperation error: %@", __FUNCTION__, error);
    }];
    [networkQueue addOperation:operation];
    
    0 讨论(0)
  • 2020-12-31 17:17

    For AFNetworking 3.x:

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
    } failure:^(NSURLSessionTask *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
    
    0 讨论(0)
  • 2020-12-31 17:20

    With AFNetworking 3.0 you need to make request as under:

    NSURL * urlStr = [NSURL URLWithString:strURL];
    
    NSDictionary *dictParameters = @{@"user[height]": height,@"user[weight]": weight};
    
    AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
    
    
    [manager GET:url.absoluteString parameters:dictParameters success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"PLIST: %@", responseObject);
    
    } failure:^(NSURLSessionTask *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    
    }];
    
    0 讨论(0)
提交回复
热议问题