关于 NSURL 的解析和编码

转载 2015年07月10日 17:16:54

转自:http://onevcat.com/2011/11/nsurl/

NSURL毫无疑问是常用类,有时候我们需要对一个url进行分析整理,当然是可以按照RFC 1808的定义去自己分析,但是万能的Apple大大已经在SDK里扔了不少方法来帮助解析一个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]);  

将得到以下输出:

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


NSString *fixedStr = [reqStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  NSString *fixedStr = [reqStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

iOS --- 使用NSURL的urlWithString时,尽量先对字符串进行UTF8转码

我们常常使用NSURL的urlWithString:方法来构造NSURL,传入的字符串参数有时候会出现格式编码的问题,尤其是使用stringWithFormat:方法组合的时候,最终结果会导致NSUR...
  • icetime17
  • icetime17
  • 2015年09月27日 09:01
  • 2364

关于 NSURL 的解析和编码

关于 NSURL 的解析和编码 NSURL毫无疑问是常用类,有时候我们需要对一个url进行分析整理,当然是可以按照RFC 1808的定义去自己分析,但是万能的Apple大大已经在SDK里...
  • u013073524
  • u013073524
  • 2014年05月29日 18:33
  • 426

关于NSURL的解析和编码

NSURL毫无疑问是常用类,有时候我们需要对一个url进行分析整理,当然是可以按照RFC 1808的定义去自己分析,但是万能的Apple大大已经在SDK里扔了不少方法来帮助解析一个url了……方便又快...
  • hyk0623
  • hyk0623
  • 2013年11月07日 17:47
  • 404

iOS NSURL 同步&异步&参数&解析等信息

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄 2.  网络连接方法介绍 ==========================================...
  • shihuboke
  • shihuboke
  • 2017年06月21日 22:10
  • 411

OC中的NSURL

/* NSURL url用于标志internet上资源位置,它指定由于访问服务器的协议,服务器名称以及文件在服务器上的位置。http://3.chihuoyizu.sinaapp....
  • sbffiyi
  • sbffiyi
  • 2015年12月30日 16:41
  • 1128

Swift中用NSURLConnection解析URL,并解析Jason数据

用NSMutableData来保存每次获得的数据 @lazy var data = NSMutableData() 用NSJSONNSerialization来解析数据...
  • Hello_Hwc
  • Hello_Hwc
  • 2014年10月31日 18:30
  • 3553

iOS 解决NSString转换为NSURL时包含中文字符

NSString中如果包括中文字符,在转换为NSURL时得到的值为nil 解决办法: NSString *urlString = [NSString stringWithFor...
  • u011303663
  • u011303663
  • 2015年07月24日 10:52
  • 2355

objective-C之NSURL

一,认识url     定义     统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件...
  • LXL_815520
  • LXL_815520
  • 2016年05月04日 18:22
  • 470

NSURL包含特殊字符处理

由于url支持26个英文字母、数字和少数几个特殊字符,因此,对于url中包含非标准url的字符时,就需要对其进行编码。 场景一:iOS端请求一个html页面,需要给该html界面传递参数,且参数是...
  • geek5621
  • geek5621
  • 2017年01月02日 21:19
  • 552

解析url中各个参数的值

NSURL* url = [NSURL urlWithString:@"http://www.xxx.com?param1=123¶m2=456"]; 解析出param1和parm2的值。 ...
  • dztianyu
  • dztianyu
  • 2013年10月29日 17:52
  • 4731
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于 NSURL 的解析和编码
举报原因:
原因补充:

(最多只允许输入30个字)