根据以下文件NSURLComponents
:
如果设置未编码的属性,则可以通过读取编码的属性值来获得编码的等效项,反之亦然。
我试图获取查询的百分比编码版本和url路径,但是我错过了一些东西:
NSURL * url = [NSURL URLWithString:@"http://google.com"];
NSURLComponents * components = [[NSURLComponents alloc] initWithURL:url resolvingAgainstBaseURL:YES];
components.query = @"oauth_callback=http://google.com";
NSLog(@"Encoded: %@", [components URL]);
//-> Encoded: http://google.com?oauth_callback=http://google.com
//Does not encode "/" or ":"
我在哪里失败?
我认为NSURLComponent
行为正确。从维基百科:
例如,在URI的“查询”部分(?字符后的部分)中,“ /”仍被视为保留字符,但通常没有保留目的,除非特定的URI方案另有说明。没有保留目的时,无需对字符进行百分比编码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句