NSURL请求中的双引号

时间:2011-01-20 12:45:34

标签: xcode null couchdb nsurl double-quotes

Apache CouchDB要求密钥用双引号括起来:“但是当转义时,生成的nsurl在登录到控制台时返回(null),结果响应(null),显然也是如此。

以下是代码:

NSURL *url = [[NSURL alloc] initWithString:@"http://username:password@gcg.cloudant.com:5984/points/_design/user/_view/where?key=\"m0rph3v5\""];

我也尝试使用%22而不是双引号,它们也不起作用。

如何在请求网址中成功添加双引号?

2 个答案:

答案 0 :(得分:2)

原来它与我使用的stringWithFormat有关,它试图将decypher%22作为变量,从而搞砸了网址。

使用nsmutablestring并附加了关键变量,结果证明它正常工作:)

答案 1 :(得分:1)

使用%22对我有用。我使用以下代码行获得了一个有效的NSURL对象:

NSURL *url = [[NSURL alloc] initWithString:@"http://username:password@gcg.cloudant.com:5984/points/_design/user/_view/where?key=%22m0rph3v5%22"];

奇怪的是,这可以在不转义@符号的情况下运行。
IIRC也应该逃脱(%40)。