Двойные кавычки в запросе NSURL - PullRequest
2 голосов
/ 20 января 2011

Apache CouchDB требует, чтобы ключ был заключен в двойные кавычки: ", однако, после экранирования результирующий nsurl возвращает (ноль) при входе в консоль, а также, очевидно, и в результате ответ (ноль).

Вот код:

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

Я также пытался использовать% 22 вместо двойных кавычек, которые тоже не работали.

Как мне успешно добавить двойные кавычки в URL запроса?

Ответы [ 2 ]

2 голосов
/ 20 января 2011

Оказывается, это было связано с используемой мной строкой с форматом, которая также пыталась расшифровать% 22 как переменную и, таким образом, испортить URL.

Использование nsmutablestring и добавление ключевой переменной оказалось работоспособным:)

1 голос
/ 20 января 2011

Использование% 22 работает для меня. Я получаю действительный объект NSURL, используя эту строку кода:

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

Странно то, что это работает без экранирования знака @.
IIRC также должен быть экранирован (% 40).

...