2

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 而不是双引号,这也不起作用。

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

4

2 回答 2

2

原来它与我使用的 stringWithFormat 有关,它也试图将 %22 作为变量解密,从而搞砸了 url。

使用 nsmutablestring 并附加 key 变量结果证明工作正常:)

于 2011-01-20T13:28:49.583 回答
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)。

于 2011-01-20T13:09:20.543 回答