Ссылка CFHTTPStream
Этот документ описывает функции CFStream для работы с HTTP-соединениями.
-
CFHTTPReadStreamSetRedirectsAutomatically CFHTTPReadStreamSetRedirectsAutomatically
Осуждаемый в версии 10.3 OS XЭта функция включает или отключает автоматическое перенаправление для потока чтения.
Оператор осуждения
Используйте kCFStreamPropertyHTTPShouldAutoredirect свойство вместо этого.
Объявление
Objective C
void CFHTTPReadStreamSetRedirectsAutomatically ( CFReadStreamRef httpStream, Boolean shouldAutoRedirect );
Параметры
httpStream
Поток чтения, для которого автоматическое перенаправление должно быть включено или отключено.
shouldAutoRedirect
TRUE
включить автоматическое перенаправление для указанного потока;FALSE
отключить автоматическое перенаправление.Обсуждение
Вызовите эту функцию перед вызовом
CFReadStreamOpen
открыть поток чтения. Включение автоматического перенаправления позволяет потоку чтения быть перенаправленным, если URL, к которому отправлен запрос, перенаправляется к другому URL. Если автоматическое перенаправление не будет включено, и URL, к которому отправлен запрос, перенаправляет запрос, то ответ на это сообщение будет содержать код ответа в пределах от 300 - 307.Оператор импорта
Objective C
@import CFNetwork;
Доступность
Доступный в версии 10.1 OS X и позже.
Осуждаемый в версии 10.3 OS X.
-
CFHTTPReadStreamSetProxy CFHTTPReadStreamSetProxy
Осуждаемый в версии 10.3 OS XЭта функция устанавливает прокси-сервер для потока чтения.
Объявление
Objective C
void CFHTTPReadStreamSetProxy ( CFReadStreamRef httpStream, CFStringRef proxyHost, CFIndex proxyPort );
Параметры
httpStream
Поток чтения, для которого должен быть установлен прокси.
proxyHost
Полностью определенное доменное имя прокси или IP-адрес в точечном десятичном формате.
proxyPort
Номер порта использование прокси.
Обсуждение
Вызовите эту функцию, если URL для этого потока чтения может только быть достигнут через прокси.
Оператор импорта
Objective C
@import CFNetwork;
Доступность
Доступный в версии 10.1 OS X и позже.
Осуждаемый в версии 10.3 OS X.
-
Объявление
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
Доступность
Доступный в версии 10.1 OS X и позже.
-
Создает поток чтения для объекта сообщения запроса 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
Доступность
Доступный в версии 10.2 OS X и позже.
-
Коды ошибки, которые может возвратить поток чтения для Запроса HTTP.
Объявление
Swift
enum CFStreamErrorHTTP : Int32 { case ParseFailure case RedirectionLoop case BadURL }
Objective C
typedef enum { kCFStreamErrorHTTPParseFailure = -1, kCFStreamErrorHTTPRedirectionLoop = -2, kCFStreamErrorHTTPBadURL = -3 } CFStreamErrorHTTP;
Константы
-
ParseFailure
kCFStreamErrorHTTPParseFailure
В то время как входящее сообщение десериализовывалось и добавлялось к объекту сообщения, ошибка анализа произошла. Заголовки входящего сообщения могут быть отформатированы неправильно.
Доступный в OS X v10.1 и позже.
-
RedirectionLoop
kCFStreamErrorHTTPRedirectionLoop
Цикл перенаправления был обнаружен.
Доступный в OS X v10.1 и позже.
-
BadURL
kCFStreamErrorHTTPBadURL
URL должным образом не отформатирован.
Доступный в OS X v10.1 и позже.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.1 OS X и позже.
-
-
Константы для установки и копирования свойств 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
kCFStreamPropertyHTTPAttemptPersistentConnection
Свойство HTTP Attempt Persistent Connection. Значение этого свойства является CFBoolean. Если это свойство установлено в
kCFBooleanTrue
, поток HTTP ищет надлежащее существующее постоянное соединение для использования. Если это не может найти один, поток HTTP попытается создать тот.Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyHTTPFinalURL
kCFStreamPropertyHTTPFinalURL
Свойство HTTP Final URL. Значение типа CFURL, содержащий заключительный HTTP URL. Если автоперенаправление произошло, это значение отличается от URL в исходном Запросе HTTP. Это свойство не может быть установлено.
Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyHTTPFinalRequest
kCFStreamPropertyHTTPFinalRequest
Свойство HTTP Final Request. Значение типа CFHTTPMessage, содержащий заключительное сообщение, переданное потоком после всех модификаций (включая аутентификацию, политику установления соединений, перенаправления, и т.д.), было сделано. Это свойство не может быть установлено.
Доступный в версии 10.5 OS X и позже.
-
kCFStreamPropertyHTTPProxy
kCFStreamPropertyHTTPProxy
Свойство HTTP Proxy. Чтобы заставить HTTP CFStream использовать Прокси HTTP, установите значение этого свойства к CFDictionary, включающему по крайней мере одну пару узла/порта, описанную в “CFStream Прокси SOCKS Ключевые Константы” в Ссылке CFStream. SystemConfiguration возвращает CFDictionary, который применим без модификации.
Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyHTTPProxyHost
kCFStreamPropertyHTTPProxyHost
Свойство HTTP Proxy Host. если HTTP CFString, содержащим имя хоста или IP-адрес прокси-сервера, CFStream использует Прокси HTTP, значение этого свойства является
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPProxyPort
kCFStreamPropertyHTTPProxyPort
Свойство HTTP Proxy Host. если HTTP CFNumber, содержащим номер порта прокси-сервера, CFStream использует Прокси HTTP, значение этого свойства является
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPRequestBytesWrittenCount
kCFStreamPropertyHTTPRequestBytesWrittenCount
Свойство HTTP Request Bytes Written. Это свойство может только быть получено; это не может быть установлено. Значение этого свойства является CFNumber, содержащим число байтов организации, записанных в сервер к настоящему времени. Байты HTTP-заголовка не включены в количество. Можно использовать это свойство для отслеживания прогресса загрузок HTTP, занимающих значительное количество времени для завершения.
Доступный в OS X v10.3 и позже.
-
kCFStreamPropertyHTTPResponseHeader
kCFStreamPropertyHTTPResponseHeader
Свойство HTTP Response Header. Когда скопировано
CFReadStreamCopyProperty
, заголовок ответного сообщения HTTP возвращается.
Доступный в OS X v10.1 и позже.
-
kCFStreamPropertyHTTPSProxyHost
kCFStreamPropertyHTTPSProxyHost
Свойство HTTPS Proxy Host. Если CFStream использует прокси HTTPS, значение этого свойства является CFString, содержащим имя хоста или IP-адрес прокси-сервера.
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPSProxyPort
kCFStreamPropertyHTTPSProxyPort
Свойство HTTPS Proxy Host. Если CFStream использует прокси HTTPS, значение этого свойства является CFNumber, содержащим номер порта прокси-сервера.
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPShouldAutoredirect
kCFStreamPropertyHTTPShouldAutoredirect
Свойство HTTP Should Auto Redirect. Установите это свойство в
kCFBooleanTrue
включить автоперенаправление; установите это свойство вkCFBooleanFalse
отключить автоперенаправление.Доступный в OS X v10.2 и позже.
Обсуждение
Константы свойства CFStream HTTP используются для указания свойства HTTP для установки при вызове
CFReadStreamSetProperty
илиCFWriteStreamSetProperty
. Они также используются для указания свойства HTTP для копирования при вызовеCFReadStreamCopyProperty
илиCFWriteStreamCopyProperty
.Доступность
Доступный в версии 10.1 OS X и позже.
-
-
Ошибочные домены, определенные для
CFHTTPStream
вызовы.Объявление
Swift
let kCFStreamErrorDomainHTTP: Int32
Objective C
extern const SInt32 kCFStreamErrorDomainHTTP;
Константы
-
kCFStreamErrorDomainHTTP
kCFStreamErrorDomainHTTP
Домен Error, возвращающий ошибки, связанные с
CFHTTPStream
уровень.Доступный в OS X v10.1 и позже.
Обсуждение
Для определения источника ошибки исследуйте
userInfo
словарь, включенный вCFError
объект, возвращенный вызовом функции или вызовомCFErrorGetDomain
и передача вCFError
возразите и домен, значение которого Вы хотите считать. -