Я хочу поместить содержимое файла XML в URL, могу ли я? - PullRequest
0 голосов
/ 22 февраля 2012
NSURL *url = [NSURL URLWithString:@"appName://<?xml version=\"1.0\" encoding=\"UTF-8\"?>"];

Но URL = ноль.Я обнаружил, что если я уберу знаки «<» и «>», все будет в порядке.Итак, два знака не могут быть использованы в URL?Должен ли я заменить знаки на другие?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 23 февраля 2012

Я решил эту проблему. Прежде чем я сделаю NSURL * url = [NSURL URLWithString: @ "...."]; Я сначала делаю:

    NSString *urlStr = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

И когда анализирую этот URL на стороне получателя, я сначала делаю:

NSString *urlString = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; // url is a NSURL
1 голос
/ 22 февраля 2012

Почему бы вам не просто отправить документ в теле запроса?

GET-запросы не предназначены для этого. Вы можете столкнуться с трудностями, если в документе есть символы UTF-8.

Также Какова максимальная длина URL в разных браузерах? подразумевает максимум 2083 символа.

Вы находитесь в очень зависимом от браузера / прокси сценарии.

0 голосов
/ 22 февраля 2012

Теоретически да.Вы можете использовать urlEncode для этого.Протокол HTTP не устанавливает никаких ограничений на длину URL.

В RFC говорится:

Примечание. Серверы должны соблюдать осторожность в зависимости от длины URI, превышающей 255 байт, посколькунекоторые старые реализации клиента или прокси могут не поддерживать эти длины должным образом.

...