如何发送用户名中包含@
字符的url请求
目前我的url请求代码如下:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://user@exam.com:pwd@example.com"]];
上面的代码是从网站exam.com而不是example.com获取数据
如何使用从example.com获取数据user@exam.com作为用户名,pwd作为密码
我尝试了像这样的转义序列来转义
@
字符,但仍然不起作用。
在从参数生成NSURL之前,始终对参数进行编码
NSString * encodedUsername = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)unencodedUsername,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8 );
您可以在使用字符串生成如下url之前对其进行编码:
NSString * encodedString = [q stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *requestURL = [NSURL URLWithString:encodedString];