首页 > NSURL无法解析带有|符号的URL?

NSURL无法解析带有|符号的URL?

NSURL *url = [NSURL URLWithString:@"http://ac-g405gbtt.clouddn.com/NT326NQNJZ3DkQo4V3VRG7B?auto-orient|imageInfo"];

NSLog(@"url : %@",url);// url : (null)

为什么url中带有 | 生成的NSURL会为nil?
怎么解决?


URLstring返回的为网页源码,你提供的URL地址无法生成源码,直接返回nil。(参见官方文档)
Return Value
An NSURL object initialized with URLString. If the URL string was malformed or nil, returns nil.
如果URLstring为nil时返回的为nil
应先转换再使用,如上楼所示


请尝试如下代码:

// 原始URL
NSString *urlString = @"http://ac-g405gbtt.clouddn.com/NT326NQNJZ3DkQo4V3VRG7B?auto-orient|imageInfo";

// 经过转义的URL
NSString *newUrlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:newUrlString];

NSLog(@"url : %@",url);
【热门文章】
【热门文章】