NSURL出错了

时间:2013-09-16 17:26:26

标签: objective-c url afnetworking afhttpclient

我有这样的网址,例如:

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

但为什么网址字符串与我想要的不一样...它返回

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

这是我的NSurl请求

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

错误:

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

我收到这样的错误,因为它在“?”之前有“/”我怎么逃避呢?

1 个答案:

答案 0 :(得分:2)

来自文档:

  

另外需要注意的是,任何尾部都会添加一个斜杠   没有一个baseURL,否则会导致意外行为   使用没有前导斜杠的路径构建URL时。

尝试这种模式:

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];

显然,你真的不想使用nil成功和失败块。

您通常应该为您正在使用的每个API创建一个AFHTTPClient(大多数应用只有一个。)为每个请求创建一个新的AFHTTPClient是一个错误。