Ссылка CFHTTPStream
Этот документ описывает функции CFStream для работы с HTTP-соединениями.
-
CFHTTPReadStreamSetRedirectsAutomatically CFHTTPReadStreamSetRedirectsAutomaticallyОсуждаемый в версии 10.3 OS XЭта функция включает или отключает автоматическое перенаправление для потока чтения.
Оператор осуждения
Используйте kCFStreamPropertyHTTPShouldAutoredirect свойство вместо этого.
Объявление
Objective C
void CFHTTPReadStreamSetRedirectsAutomatically ( CFReadStreamRef httpStream, Boolean shouldAutoRedirect );Параметры
httpStreamПоток чтения, для которого автоматическое перенаправление должно быть включено или отключено.
shouldAutoRedirectTRUEвключить автоматическое перенаправление для указанного потока;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использовать текущее средство выделения по умолчанию.requestCFHTTP запрашивает сообщение, организация которого и заголовки были установлены.
Возвращаемое значение
Новый поток чтения, или
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использовать текущее средство выделения по умолчанию.requestHeadersCFHTTP запрашивает заголовок.
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;Константы
-
ParseFailurekCFStreamErrorHTTPParseFailureВ то время как входящее сообщение десериализовывалось и добавлялось к объекту сообщения, ошибка анализа произошла. Заголовки входящего сообщения могут быть отформатированы неправильно.
Доступный в OS X v10.1 и позже.
-
RedirectionLoopkCFStreamErrorHTTPRedirectionLoopЦикл перенаправления был обнаружен.
Доступный в OS X v10.1 и позже.
-
BadURLkCFStreamErrorHTTPBadURLURL должным образом не отформатирован.
Доступный в 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;Константы
-
kCFStreamPropertyHTTPAttemptPersistentConnectionkCFStreamPropertyHTTPAttemptPersistentConnectionСвойство HTTP Attempt Persistent Connection. Значение этого свойства является CFBoolean. Если это свойство установлено в
kCFBooleanTrue, поток HTTP ищет надлежащее существующее постоянное соединение для использования. Если это не может найти один, поток HTTP попытается создать тот.Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyHTTPFinalURLkCFStreamPropertyHTTPFinalURLСвойство HTTP Final URL. Значение типа CFURL, содержащий заключительный HTTP URL. Если автоперенаправление произошло, это значение отличается от URL в исходном Запросе HTTP. Это свойство не может быть установлено.
Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyHTTPFinalRequestkCFStreamPropertyHTTPFinalRequestСвойство HTTP Final Request. Значение типа CFHTTPMessage, содержащий заключительное сообщение, переданное потоком после всех модификаций (включая аутентификацию, политику установления соединений, перенаправления, и т.д.), было сделано. Это свойство не может быть установлено.
Доступный в версии 10.5 OS X и позже.
-
kCFStreamPropertyHTTPProxykCFStreamPropertyHTTPProxyСвойство HTTP Proxy. Чтобы заставить HTTP CFStream использовать Прокси HTTP, установите значение этого свойства к CFDictionary, включающему по крайней мере одну пару узла/порта, описанную в “CFStream Прокси SOCKS Ключевые Константы” в Ссылке CFStream. SystemConfiguration возвращает CFDictionary, который применим без модификации.
Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyHTTPProxyHostkCFStreamPropertyHTTPProxyHostСвойство HTTP Proxy Host. если HTTP CFString, содержащим имя хоста или IP-адрес прокси-сервера, CFStream использует Прокси HTTP, значение этого свойства является
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPProxyPortkCFStreamPropertyHTTPProxyPortСвойство HTTP Proxy Host. если HTTP CFNumber, содержащим номер порта прокси-сервера, CFStream использует Прокси HTTP, значение этого свойства является
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPRequestBytesWrittenCountkCFStreamPropertyHTTPRequestBytesWrittenCountСвойство HTTP Request Bytes Written. Это свойство может только быть получено; это не может быть установлено. Значение этого свойства является CFNumber, содержащим число байтов организации, записанных в сервер к настоящему времени. Байты HTTP-заголовка не включены в количество. Можно использовать это свойство для отслеживания прогресса загрузок HTTP, занимающих значительное количество времени для завершения.
Доступный в OS X v10.3 и позже.
-
kCFStreamPropertyHTTPResponseHeaderkCFStreamPropertyHTTPResponseHeaderСвойство HTTP Response Header. Когда скопировано
CFReadStreamCopyProperty, заголовок ответного сообщения HTTP возвращается.Доступный в OS X v10.1 и позже.
-
kCFStreamPropertyHTTPSProxyHostkCFStreamPropertyHTTPSProxyHostСвойство HTTPS Proxy Host. Если CFStream использует прокси HTTPS, значение этого свойства является CFString, содержащим имя хоста или IP-адрес прокси-сервера.
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPSProxyPortkCFStreamPropertyHTTPSProxyPortСвойство HTTPS Proxy Host. Если CFStream использует прокси HTTPS, значение этого свойства является CFNumber, содержащим номер порта прокси-сервера.
Доступный в версии 10.2 OS X и позже.
-
kCFStreamPropertyHTTPShouldAutoredirectkCFStreamPropertyHTTPShouldAutoredirectСвойство 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: Int32Objective C
extern const SInt32 kCFStreamErrorDomainHTTP;Константы
-
kCFStreamErrorDomainHTTPkCFStreamErrorDomainHTTPДомен Error, возвращающий ошибки, связанные с
CFHTTPStreamуровень.Доступный в OS X v10.1 и позже.
Обсуждение
Для определения источника ошибки исследуйте
userInfoсловарь, включенный вCFErrorобъект, возвращенный вызовом функции или вызовомCFErrorGetDomainи передача вCFErrorвозразите и домен, значение которого Вы хотите считать. -
