我正在为LinkedIn应用程序接口开发一个库。在某些情况下,我需要发送转义的url。我正在使用CFURLCreateStringByAddingPercentEscapes来完成这项任务,并且似乎为我找到了工作。
为什么这不是有效的URL?
NSURL *base = [NSURL URLWithString:@"https://api.linkedin.com"];
NSString *r = @"/v1/people/url={www.linkedin.com%2Fin%2Fbilby91}";
NSURL finalUrl = [NSURL URLWithString:r relativeToURL:base];finalUrl总是空的,我认为是正确转义的。原始url为www.linkedin.com/Fin/bilby91
谢谢
发布于 2013-11-27 14:49:12
添加这个
NSString *r = [@"/v1/people/url={www.linkedin.com%2Fin%2Fbilby91}" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
发布于 2013-11-28 03:54:20
问题是,这个字符'{' '}'需要编码,即使它们不是保留的。一些字符,包括前面的字符,被认为是不安全的,在url中可能会被误解,所以最好总是对它们进行编码。
发布于 2013-11-27 15:11:57
[NSString stringWithFormat:@"%@",[r stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];使用这个,这可能会帮助你
https://stackoverflow.com/questions/20234727
复制相似问题