NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢,主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以封装一个NSURL,操作很方便:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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]); |
结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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) |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/zhibudefeng/article/details/7920686