Ссылка CFHTTPStream
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CFNetwork
Objective C
@import CFNetwork;
Этот документ описывает функции CFStream для работы с HTTP-соединениями.
-
Объявление
Swift
func CFReadStreamCreateForHTTPRequest(_
alloc
: CFAllocator!, _request
: CFHTTPMessage!) -> Unmanaged<CFReadStream>!Objective C
CFReadStreamRef CFReadStreamCreateForHTTPRequest ( CFAllocatorRef alloc, CFHTTPMessageRef request );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.request
CFHTTP запрашивает сообщение, организация которого и заголовки были установлены.
Возвращаемое значение
Новый поток чтения, или
NULL
если была проблема, создающая объект. Владение соблюдает Создать Правило.Обсуждение
Эта функция создает поток чтения и связывает его с указанным запросом. Автоматическое перенаправление отключено по умолчанию. После создания потока чтения можно вызвать
CFReadStreamGetError
в любое время проверять состояние потока. Можно хотеть вызватьCFHTTPReadStreamSetRedirectsAutomatically
включить автоматическое перенаправление, илиCFHTTPReadStreamSetProxy
определять имя и номер порта для прокси. Чтобы сериализировать запрос и отправить его, вызватьCFReadStreamOpen
.Если организация запроса является слишком длинной для хранения в памяти, вызвать
CFReadStreamCreateForStreamedHTTPRequest
вместо этой функции.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в iOS 2.0 и позже.
-
Создает поток чтения для объекта сообщения запроса CFHTTP, организация которого является слишком длинной для хранения в памяти.
Объявление
Swift
func CFReadStreamCreateForStreamedHTTPRequest(_
alloc
: CFAllocator!, _requestHeaders
: CFHTTPMessage!, _requestBody
: CFReadStream!) -> Unmanaged<CFReadStream>!Objective C
CFReadStreamRef CFReadStreamCreateForStreamedHTTPRequest ( CFAllocatorRef alloc, CFHTTPMessageRef requestHeaders, CFReadStreamRef requestBody );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.requestHeaders
CFHTTP запрашивает заголовок.
requestBody
Считайте потоковую ссылку для организации запроса.
Возвращаемое значение
Новый поток чтения, или
NULL
если была проблема, создающая объект. Владение соблюдает Создать Правило.Обсуждение
Эта функция создает поток чтения для ответа на
requestHeaders
плюсrequestBody
. Вызовите эту функцию вместоCFReadStreamCreateForHTTPRequest
когда организация запроса является такой длинной, что Вы не хотите, чтобы он был резидентным объектом в памяти.Поскольку потоки не могут быть сброшены, читайте, потоки создали этот путь, не может быть включен для автоперенаправления.
Если заголовок Довольной Длины установлен в
requestHeaders
, предполагается, что длина корректна и чтоrequestBody
сообщит конец потока после точно, байты Довольной Длины были считаны из него. Если заголовок Довольной Длины не будет установлен, то разделенное на блоки кодирование передачи будет добавлено кrequestHeaders
, и байты читали изrequestBody
будет передан разделенный на блоки. ОрганизацияrequestHeaders
проигнорирован.После создания потока чтения можно вызвать
CFReadStreamGetError
в любое время проверять состояние потока. Можно хотеть вызватьCFHTTPReadStreamSetProxy
определять имя и номер порта для прокси. Чтобы сериализировать запрос и отправить его, вызватьCFReadStreamOpen
.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в iOS 2.0 и позже.
-
Коды ошибки, которые может возвратить поток чтения для Запроса HTTP.
Объявление
Swift
enum CFStreamErrorHTTP : Int32 { case ParseFailure case RedirectionLoop case BadURL }
Objective C
typedef enum { kCFStreamErrorHTTPParseFailure = -1, kCFStreamErrorHTTPRedirectionLoop = -2, kCFStreamErrorHTTPBadURL = -3 } CFStreamErrorHTTP;
Константы
-
ParseFailure
kCFStreamErrorHTTPParseFailure
В то время как входящее сообщение десериализовывалось и добавлялось к объекту сообщения, ошибка анализа произошла. Заголовки входящего сообщения могут быть отформатированы неправильно.
Доступный в iOS 2.0 и позже.
-
RedirectionLoop
kCFStreamErrorHTTPRedirectionLoop
Цикл перенаправления был обнаружен.
Доступный в iOS 2.0 и позже.
-
BadURL
kCFStreamErrorHTTPBadURL
URL должным образом не отформатирован.
Доступный в iOS 2.0 и позже.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в iOS 2.0 и позже.
-
-
Константы для установки и копирования свойств CFStream HTTP.
Объявление
Swift
let kCFStreamPropertyHTTPAttemptPersistentConnection: CFString! let kCFStreamPropertyHTTPFinalURL: CFString! let kCFStreamPropertyHTTPFinalRequest: CFString! let kCFStreamPropertyHTTPProxy: CFString! let kCFStreamPropertyHTTPProxyHost: CFString! let kCFStreamPropertyHTTPProxyPort: CFString! let kCFStreamPropertyHTTPRequestBytesWrittenCount: CFString! let kCFStreamPropertyHTTPResponseHeader: CFString! let kCFStreamPropertyHTTPSProxyHost: CFString! let kCFStreamPropertyHTTPSProxyPort: CFString! let kCFStreamPropertyHTTPShouldAutoredirect: CFString!
Objective C
const CFStringRef kCFStreamPropertyHTTPAttemptPersistentConnection; const CFStringRef kCFStreamPropertyHTTPFinalURL; extern const CFStringRef kCFStreamPropertyHTTPFinalRequest; const CFStringRef kCFStreamPropertyHTTPProxy; const CFStringRef kCFStreamPropertyHTTPRequestBytesWrittenCount; const CFStringRef kCFStreamPropertyHTTPResponseHeader; const CFStringRef kCFStreamPropertyHTTPShouldAutoredirect;
Константы
-
kCFStreamPropertyHTTPAttemptPersistentConnection
Свойство HTTP Attempt Persistent Connection. Значение этого свойства является CFBoolean. Если это свойство установлено в
kCFBooleanTrue
, поток HTTP ищет надлежащее существующее постоянное соединение для использования. Если это не может найти один, поток HTTP попытается создать тот.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPFinalURL
Свойство HTTP Final URL. Значение типа CFURL, содержащий заключительный HTTP URL. Если автоперенаправление произошло, это значение отличается от URL в исходном Запросе HTTP. Это свойство не может быть установлено.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPFinalRequest
Свойство HTTP Final Request. Значение типа CFHTTPMessage, содержащий заключительное сообщение, переданное потоком после всех модификаций (включая аутентификацию, политику установления соединений, перенаправления, и т.д.), было сделано. Это свойство не может быть установлено.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPProxy
Свойство HTTP Proxy. Чтобы заставить HTTP CFStream использовать Прокси HTTP, установите значение этого свойства к CFDictionary, включающему по крайней мере одну пару узла/порта, описанную в “CFStream Прокси SOCKS Ключевые Константы” в Ссылке CFStream. SystemConfiguration возвращает CFDictionary, который применим без модификации.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPProxyHost
Свойство HTTP Proxy Host. если HTTP CFString, содержащим имя хоста или IP-адрес прокси-сервера, CFStream использует Прокси HTTP, значение этого свойства является
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPProxyPort
Свойство HTTP Proxy Host. если HTTP CFNumber, содержащим номер порта прокси-сервера, CFStream использует Прокси HTTP, значение этого свойства является
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPRequestBytesWrittenCount
Свойство HTTP Request Bytes Written. Это свойство может только быть получено; это не может быть установлено. Значение этого свойства является CFNumber, содержащим число байтов организации, записанных в сервер к настоящему времени. Байты HTTP-заголовка не включены в количество. Можно использовать это свойство для отслеживания прогресса загрузок HTTP, занимающих значительное количество времени для завершения.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPResponseHeader
Свойство HTTP Response Header. Когда скопировано
CFReadStreamCopyProperty
, заголовок ответного сообщения HTTP возвращается.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPSProxyHost
Свойство HTTPS Proxy Host. Если CFStream использует прокси HTTPS, значение этого свойства является CFString, содержащим имя хоста или IP-адрес прокси-сервера.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPSProxyPort
Свойство HTTPS Proxy Host. Если CFStream использует прокси HTTPS, значение этого свойства является CFNumber, содержащим номер порта прокси-сервера.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyHTTPShouldAutoredirect
Свойство HTTP Should Auto Redirect. Установите это свойство в
kCFBooleanTrue
включить автоперенаправление; установите это свойство вkCFBooleanFalse
отключить автоперенаправление.Доступный в iOS 2.0 и позже.
Обсуждение
Константы свойства CFStream HTTP используются для указания свойства HTTP для установки при вызове
CFReadStreamSetProperty
илиCFWriteStreamSetProperty
. Они также используются для указания свойства HTTP для копирования при вызовеCFReadStreamCopyProperty
илиCFWriteStreamCopyProperty
. -
-
Ошибочные домены, определенные для
CFHTTPStream
вызовы.Объявление
Swift
let kCFStreamErrorDomainHTTP: Int32
Objective C
extern const SInt32 kCFStreamErrorDomainHTTP;
Константы
-
kCFStreamErrorDomainHTTP
Домен Error, возвращающий ошибки, связанные с
CFHTTPStream
уровень.Доступный в iOS 2.0 и позже.
Обсуждение
Для определения источника ошибки исследуйте
userInfo
словарь, включенный вCFError
объект, возвращенный вызовом функции или вызовомCFErrorGetDomain
и передача вCFError
возразите и домен, значение которого Вы хотите считать. -