url解析

  有时你可能有下面这个需求:webview捕获一个连接,链接的”?“后面带有几个我们可用的参数,这时我们就可以通过原生提供的方法来解析url。

例如:  

 NSURL *url = [NSURL URLWithString:
                  @"http://www.onevcat.com/2011/11/debug/param?p=307#more-307"];
    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]);

另外,在由NString生成NSURL对象的时候,有可能出现NSString中包含百分号各类括号冒号等对于URL来说的非法字符串如果直接进行转换的话将得到nil。在对于复杂url进行转换前,可以先将其转换为合法的url字符串(其实目的就是保证非法字符用UTF8编码..) 比如这样:

stringByAddingPercentEscapesUsingEncoding:
NSString *fixedStr = [reqStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
原文地址:https://www.cnblogs.com/lxgo/p/5276185.html