我正在使用AFNetworking,我想创建一个实例AFHTTPClient.此类初始化程序需要一个baseUrl参数.如果我通过"www.mysite.com",我怎么能在以后使用同一个客户端和子域?例如" users.mysite.com"
我不想为我使用的每个子域创建不同的客户端.另外,我不能改变baseUrl它只读它.有关如何实现这一目标的任何想法?
您不必指定相对路径 - 您可以指定绝对路径.
来自文档:
两者
-requestWithMethod:path:parameters:并使用-multipartFormRequestWithMethod:path:parameters:constructingBodyWithBlock:相对于路径构造URL .以下是如何和相对路径交互的几个示例:-baseURLNSURL +URLWithString:relativeToURL:baseURL
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"];
[NSURL URLWithString:@"foo" relativeToURL:baseURL]; // http://example.com/v1/foo
[NSURL URLWithString:@"foo?bar=baz" relativeToURL:baseURL]; // http://example.com/v1/foo?bar=baz
[NSURL URLWithString:@"/foo" relativeToURL:baseURL]; // http://example.com/foo
[NSURL URLWithString:@"foo/" relativeToURL:baseURL]; // http://example.com/v1/foo
[NSURL URLWithString:@"/foo/" relativeToURL:baseURL]; // http://example.com/foo/
[NSURL URLWithString:@"http://example2.com/" relativeToURL:baseURL]; // http://example2.com/
Run Code Online (Sandbox Code Playgroud)
另外需要注意的是,如果
baseURL没有一个斜杠,任何尾部斜杠都会被添加到任何一个斜杠,否则在使用没有前导斜杠的路径构造URL时会导致意外行为.
所以你可以做类似的事情[[MyClient sharedClient] getPath:@"http://users.mysite.com/etc" ...],它将解析为完整的URL.您也可以编写自己的getPath方法getUserPath- 实现很简单.
| 归档时间: |
|
| 查看次数: |
601 次 |
| 最近记录: |