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)

04-14 16:26