• NSURL


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

    NSString *fixedStr = [reqStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    可以按照RFC 1808的定义去自己分析;
    更便捷的是SDK中各种分析的方法
    NSURL *url = [NSURL URLWithString: @"http://i.cnblogs.com/EditPosts.aspx?opt=1"]; 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]);
  • 相关阅读:
    关于钩子函数的详细解答:
    Vue实现回到顶部
    Vue实现Rate组件(星星评分)
    Vue-router 路由模式
    javascript中实现跨域的方式
    Promise
    webpack使用
    小程序登录
    api工厂的sdk的使用
    面试题划“重点”
  • 原文地址:https://www.cnblogs.com/liuxiaokun/p/5542417.html
Copyright © 2020-2023  润新知