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而不是双引号,它们也不起作用。
如何在请求网址中成功添加双引号?
答案 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)。