Я пытаюсь передать запрос на URL-адрес с помощью HTTP POST на iPhone. Тело HTTP содержит несколько escape-символов.
NSString *requestMessage=[NSString stringWithString:@"?username/u001password/u001description"];
NSMutableURLRequest *url=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://welcome.com"]];
[url setHTTPMethod:@"POST"];
[url setHTTPBody:[requestMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:url delegate:self];
escape-символ здесь - / u001
.
Используя этот код, я не не получить никаких правильных ответов. Я думаю, что проблема только с побегами. Пожалуйста, дайте мне решение о том, как создать escape-последовательность, подобную этой, в Какао. Заранее спасибо.
Вы перепутали косую черту (/) с обратной косой чертой (\). Для создания escape-последовательности вам понадобится обратная косая черта; косая черта - это просто косая черта, а «/ u001» - это просто косая черта, буква u, две цифры ноль и одна цифра.
Тем не менее, если вы действительно хотите включить U + 0001 в свою строку, даже \ u001
неверно. Вы хотите \ x01
или, может быть, \ u0001
(но я, кажется, помню, что GCC жалуется, если вы используете \ u
для символа ниже U + 0100).
Я действительно задаюсь вопросом, почему серверу требуется U + 0001 в качестве разделителя. Существуют ли общедоступные документы API для запрашиваемого сервера?
От чего вы хотите сбежать? Я не совсем понимаю, что вы пытаетесь сделать. Вы хотите написать «&»? Затем сделать его. Это не HTML.
Кроме того, [NSString stringWithString: @ "… постоянная строка…"]
является сверхтекучей. @ "… постоянная строка…"
- это все, что вам нужно.
В NSString есть метод для добавления процентных переходов к URL-адресам: - (void) stringByAddingPercentEscapesUsingEncoding:
. Может это то, что вы ищете?