2010-08-31 64 views
4

您好我有这样的代码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。OUPUTS(空)。如果我删除查询字符串它将正确输出域和路径。

任何想法,为什么出现这种情况?我如何分类?

谢谢。

回答

7

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

+0

这工作谢谢。 :)无论如何,这是做什么? ps:稍后会接受答案 - 它不会让我再等4分钟。 – 2010-08-31 10:14:20

+0

不用担心!不能说我确定它做了什么,但我认为它分配了一个NSURL的自动发布实例,并在需要的地方添加了百分比转义(如%20而不是“空间”)。 – Gubb 2010-08-31 10:17:34

+0

啊我看到...辉煌 - 基本上像URL编码? :) 非常感谢。 :)有一些代表。 – 2010-08-31 10:20:33

3

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

+0

谢谢。 :) replacesParentEscapes做什么?这是否扭转了这个过程? – 2010-08-31 10:21:01

+0

是的,它会删除百分号转义编码。 – AechoLiu 2010-08-31 10:58:14

相关问题