NSMutableURLRequest, модифицирующий поля заголовка - PullRequest
0 голосов
/ 02 ноября 2009

NSMutableURLRequest явно меняет регистр в полях заголовка.

Например, настройка:

[request addValue:myValue forHTTPHeaderField:@"FOOBAR"];

изменит поле заголовка на "Foobar".

Кто-нибудь знает способ обойти это? Я работаю со службой, которая требует ввода чувствительного к регистру поля.

Кроме того, NSMutableURLRequest на самом деле не должен принимать решение за меня.

1 Ответ

8 голосов
/ 02 ноября 2009

NSMutableURLRequest соответствует спецификации RFC 2616 для HTTP / 1.1 , которая гласит:

Имена полей не чувствительны к регистру.

или документация , которая гласит:

В соответствии с HTTP RFC, имена полей заголовка HTTP не чувствительны к регистру.

Таким образом, мы можем сделать вывод, что NSURLRequest на самом деле просто стандартизует капитализацию полей заголовка. Как это вдумчиво. =)

Похоже, тебе не повезло.

Редактировать: «Я работаю со службой, для которой необходимо указать поле с учетом регистра». Поскольку протокол HTTP / 1.1 определяет имена полей заголовка без учета регистра, эта служба нарушает протокол. Интернет уже полон примеров того, что происходит, когда компании и службы пытаются игнорировать протокол в своих собственных интересах. (Например: когда-нибудь пытались написать веб-страницу, которая работает в Firefox и IE6?) Я бы не стал использовать эту службу, если бы вы могли, или напишите им и сообщите им, что они делают и почему это неправильно.

...