Objective-c中具有特殊字符的URL

时间:2012-12-14 14:53:25

标签: objective-c

我正在尝试在我的应用程序中使用此URL,以便当用户提供正确的信息时,他将能够登录:

NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:[NSString stringWithFormat:@"https://www.example.come/login/CheckEligibility?json={'username'%%3A'%@'%%2C'password'%%3A'%@'}", username.text,passowrd.text]]];

出于某种原因,我得到了例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'

当我在浏览器中测试URL时,它工作正常,并为我提供了我想要的数据。

2 个答案:

答案 0 :(得分:2)

试试这个

NSString *str = [NSString stringWithFormat:@"https://www.example.come/login/CheckEligibility?json={'username':'%@','password':'%@'}", username.text, passowrd.text];
str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:str];
NSData *data = [NSData dataWithContentsOfURL:url];

答案 1 :(得分:0)

您需要对字符串进行编码,如:

[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];