AFNetworking 2.0: how to pass the full json param argument converted as base64encoded + urlencoded string to AFNetworking 2.0 Post Request

I am using AFNetworking 2.0 and new to it. I tried a couple of WS test calls with success. We have a web service called and called:

This data parameter is an encrypted string.

Request: http://demo.XYZ.net/getlanguage // For example only

Parameters:

1) first you need to set json with a parameter, as shown below the dictionary in a string

   {
       param =     {
           pone = "com.xyz";
           ptwo = 68208;
           pthree = eda24e95f;
       };
   }

to

   {"param":{"pone":"com.xyz","ptwo":"68208","pthree":"eda24e95f"}}

2) and then convert json string to base64encode

   something like: eyJob21lIjp7InNGFlMGEzZDg1Mzg3YTNkYmFlZDQ5MzBiMCIsInNhbHQiOiI3OTU2IiwicGFj5uY19

3) and then convert the string to urlencode, and then send the encrypted string to "data" with the post method

eyJob21lIjp7InNpZ24iOiJiZmU4Y2RmZGEzZDg1Mzg3YTNkYmFlZDQ5MzBiMCIsInNhbHQi% 0AOiI3OTU2IiwicGFja2FnZSI6ImNvbS5uYmJ

, , , :

http://demo.XYZ.net/getlanguage?data= eyJob21lIjp7InNpZ24iOiJiZmU4Y2RmZGEzZDg1Mzg3YTNkYmFlZDQ5MzBiMCIsInNhbHQi% 0AOiI3OTU2IiwicGFja2FnZSI6ImNvbS5uYmJk

WS . [ "POSTMan-Chrome-Extension" ]

, AFNetworking 2.0? , , AFHTTPRequestOperationManager?

+4
1

, , param JSON NSJSONSerialization, base64 base64EncodedStringWithOptions. , :

NSString *urlString = @"http://demo.XYZ.net/getlanguage";

NSDictionary *originalParameters = @{@"param" : @{
                                             @"pone"   : @"com.xyz",
                                             @"ptwo"   : @68208,
                                             @"pthree" : @"eda24e95f"
                                             }
                                     };

NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:originalParameters options:0 error:&error];
NSAssert(jsonData, @"JSON encoding failed: %@", error);

NSString *base64EncodedString = [jsonData base64EncodedStringWithOptions:0];

NSDictionary *parameters = @{@"data" : base64EncodedString};

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

[manager GET:urlString parameters:parameters success:^(NSURLSessionDataTask * __nonnull task, id __nonnull responseObject) {
    NSLog(@"responseObject = %@", responseObject);
} failure:^(NSURLSessionDataTask * __nonnull task, NSError * __nonnull error) {
    NSLog(@"error = %@", error);
}];

AFHTTPRequestOperationManager, : JSON, base64 , GET.

+4

All Articles