NSURL似乎不想接受我的查询字符串

时间:2010-08-31 10:03:34

标签: iphone query-string nsurl

您好,我有这段代码

NSLog(@"%@",URLRequestQueryString);
NSString *sendToServerString = [NSString stringWithFormat:@"http://mydomain.co.uk/req.php%@",URLRequestQueryString];
NSURL *sendToServer = [[NSURL alloc] initWithString:sendToServerString];
NSLog(@"%@",sendToServer);
NSLog(@"%@",sendToServerString);

URLRequestQueryString只是我在整个脚本中构建的标准查询字符串。

第一个NSLog工作正常并输出一个正确的查询字符串(如果我将其复制并粘贴到浏览器中,那么页面将加载并正确运行。

当我输出sendToServerString它正确输出带有查询字符串的URL(我也可以将其复制并粘贴到浏览器中)时也是如此。

然而sendToServer输出(null)。如果我删除了查询字符串,它将正确输出域和路径。

知道为什么会这样吗?我该如何排序?

谢谢。

2 个答案:

答案 0 :(得分:7)

NSURL *sendToServer = [NSURL URLWithString: [sendToServerString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
可能是你在找什么。 :)

答案 1 :(得分:3)

您需要查看NSString参考。 名为“使用URL”的部分。 在这一节下有两种方法