我有这样的网址,例如:
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
我收到这样的错误,因为它在“?”之前有“/”我怎么逃避呢?
答案 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是一个错误。