Настройки nsurlrequest для POST - PullRequest
       1

Настройки nsurlrequest для POST

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

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

во второй строке кода, для чего используются значения setValue: и forHTTPHeaderField: значения? Я думаю о HTTPHeaderField: устанавливает тип mime ... но я не уверен, для чего предназначен setValue или как он влияет на мой запрос.

[request setHTTPMethod: @"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody:postBodyData];

любая помощь будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 24 февраля 2012

См. NSMutableURLRequest ссылка для описания метода и HTTP документация в 14.17 Раздел Content-Type для информации заголовка.

Больше деталей C-T в разделе 7.2.1

Content-Type определяет тип носителя базовых данных . Content-Encoding может использоваться для указания любых дополнительных кодировок контента, применяемых к данным, обычно для целей сжатия данных, которые являются свойством запрашиваемого ресурса. Кодировка по умолчанию отсутствует.

Любое сообщение HTTP / 1.1, содержащее тело объекта, ДОЛЖНО включать поле заголовка Content-Type, определяющее тип носителя этого тела. Если и только если тип мультимедиа не задан полем Content-Type, получатель МОЖЕТ попытаться угадать тип носителя путем проверки его содержание и / или расширение (я) имени URI, используемого для идентификации ресурс. Если тип носителя остается неизвестным, получатель ДОЛЖЕН обрабатывать его как тип "application / octet-stream".

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

В случае типа содержимого это могут быть такие вещи, как text/html, text/xml или image/gif.

Цель здесь - указать, какой тип данных передается.

Для определения полей заголовка см. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html.

Для различных типов носителей см. http://en.wikipedia.org/wiki/Internet_media_type.

Также см. NSURLRequestссылка на специфику этого класса.

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

Каждый HTML-запрос состоит из заголовка и тела запроса.

В вашем примере вы определяете, что тело этого запроса содержит данные формы.

Если, например, вы хотите отправить структуру json в качестве тела запроса, тип содержимого запроса должен быть установлен как «application / json».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...