从NSString或NSUrl获取网站的根目录

trx*_*x25 7 cocoa nsurl ios

有关如何从NSString或NSURL获取网站根目录的任何想法?所以,如果我的网址是 http://www.foo.com/bar/baragain,我将如何获得http://www.foo.com/

Dom*_*Cat 17

通过使用[url scheme][url host]喜欢这样:

NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar/baragain"];
NSLog(@"Base url: %@://%@", [url scheme], [url host]);
// output is http://www.foo.com
Run Code Online (Sandbox Code Playgroud)

  • 这不是通用的,因为也可以有用户名和密码......这是更好的解决方案:"我发现这样做的另一种方式是NSURL包含路径方法.我可以获取路径,并从完整的URL中减去它,我留下了我想要的东西." (3认同)

Haf*_*hor 10

NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar/baragain"];
NSURL *root = [NSURL URLWithString:@"/" relativeToURL:url];
NSLog(@"root = '%@'", root.absoluteString); // root = 'http://www.foo.com/'
Run Code Online (Sandbox Code Playgroud)