我正在生成一个由字符串参数给出的URL,但是url给出了null值。 为了生成URL,我实现了以下代码。
NSURL *url = [[NSURL alloc] init];
NSString *strURL = @"ftp://Administrat:ABC(R%-@TRDOP@xx.xx.xx.xx/arrows.png";
url = [NSURL URLWithString:[NSString stringWithString:strURL]];
NSLog(@"URL :: %@",url);
由于
答案 0 :(得分:2)
您需要转义url查询字符串中的特殊字符。
使用:
NSString *strURL = @"ftp://www.jerox.com/Administrator:@123@TRDOP@%$/arrows.png";
strURL =[strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:strURL];
NSLog(@"URL :: %@",url);
另外,我需要在代码中提到一些错误:
stringWithString:
答案 1 :(得分:1)
使用以下代码。
NSString *sURL = @"ftp://www.jerox.com/Administrator:@123@TRDOP@%$/arrows.png";
NSURL *url = [[NSURL alloc] initWithString:[sURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"URL :: %@",url);
答案 2 :(得分:0)
从您发布的代码示例中,问题出在此处:
NSString *strURL = @"ftp://Administrat:ABC(R%-@TRDOP@xx.xx.xx.xx/arrows.png";
仔细查看权限组件(用户名,密码和主机)。在网址中使用@
符号来分隔用户名和&来自主机的密码。由于您的密码包含@
字符,因此必须对其进行百分比转义。 @
的编码百分比为%40
,代替代码:
NSString *strURL = @"ftp://Administrat:ABC(R%-%40TRDOP@xx.xx.xx.xx/arrows.png";
你真的应该在其中转发其他特定于网址的字符,例如单独的%
符号。