NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢,主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以封装一个NSURL,操作很方便:
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com/s?tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=2709"];
NSLog(@"Scheme: %@", [url scheme]);
NSLog(@"Host: %@", [url host]);
NSLog(@"Port: %@", [url port]);
NSLog(@"Path: %@", [url path]);
NSLog(@"Relative path: %@", [url relativePath]);
NSLog(@"Path components as array: %@", [url pathComponents]);
NSLog(@"Parameter string: %@", [url parameterString]);
NSLog(@"Query: %@", [url query]);
NSLog(@"Fragment: %@", [url fragment]);
NSLog(@"User: %@", [url user]);
NSLog(@"Password: %@", [url password]);
结果:
2012-08-29 15:52:23.781 NSurl[3560:f803] Scheme: http
2012-08-29 15:52:32.793 NSurl[3560:f803] Host: www.baidu.com
2012-08-29 15:52:39.102 NSurl[3560:f803] Port: (null)
2012-08-29 15:52:42.590 NSurl[3560:f803] Path: /s
2012-08-29 15:52:52.516 NSurl[3560:f803] Relative path: /s
2012-08-29 15:53:05.576 NSurl[3560:f803] Path components as array: (
"/",
s
)
2012-08-29 15:53:32.861 NSurl[3560:f803] Parameter string: (null)
2012-08-29 15:53:37.528 NSurl[3560:f803] Query: tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=2709
2012-08-29 15:53:52.942 NSurl[3560:f803] Fragment: (null)
2012-08-29 15:53:54.539 NSurl[3560:f803] User: (null)
2012-08-29 15:53:57.808 NSurl[3560:f803] Password: (null)