0

I have URL like this for example:

http://somedomain.com/mi3/marketInfoData?request=login&user=user&password=password

but why URL string not same with that I want... it return

http://somedomain.com/mi3/marketInfoData/?request=login&user=user&password=pass

here my NSurl request

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://somedomain.com/mi3/marketInfoData?request=login&user=user&password=pass"]];

Error:

AFNetworkingOperationFailingURLRequestErrorKey=<NSMutableURLRequest http://somedomain.com/mi3/marketInfoData/?request=login&user=user&password=pass <--error

and I got an error like this because it has "/" before "?" How do I escape it?

Mike Abdullah
  • 14,933
  • 2
  • 50
  • 75
Arie Prasetyo
  • 151
  • 2
  • 13

1 Answers1

2

From the documentation:

Also important to note is that a trailing slash will be added to any baseURL without one, which would otherwise cause unexpected behavior when constructing URLs using paths without a leading slash.

Try this pattern:

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://somedomain.com/mi3/"]];

NSDictionary *params = @{@"request": @"login", @"user" : @"user", @"password" : @"pass"};

[httpClient getPath:@"marketInfoData" parameters:params success:nil failure:nil];

Obviously, you don't really want to use nil success and failure blocks.

You should typically create one AFHTTPClient for each API you're hitting (most apps only have one.) Creating a new AFHTTPClient for each request is an error.

Aaron Brager
  • 65,323
  • 19
  • 161
  • 287