Информация о версии Платформы CFNetwork для OS X v10.5 и v10.6
CFNetwork является платформой, обеспечивающей APIs C для общих Протоколов Интернета, таких как HTTP, FTP и другие. Этот APIs разработан с мобильностью, производительностью и непротиворечивостью в памяти, и доступен приложениям Какао и Углерода. CFNetwork является частью платформы защиты CoreServices. Просто соединение с CoreServices сделает платформу CFNetwork доступной для использования.
Этот документ описывает изменения в CFNetwork начиная с OS X v10.4, Тайгер. Обратите внимание на то, что можно быть в состоянии найти больше информации о многих из этих изменений в документации разработчика Apple.
Содержание:
CFError
CFError является новым CFType, представленным в CoreFoundation для создания отчетов об ошибках; см. Базовую Информацию о версии Основы для OS X v10.9 для большего количества подробных данных о CFError. В Leopard CFNetwork принял CFError. Также, CFNetwork обеспечивает свои собственные ошибочные домены, коды ошибки и пользовательские информационные записи в новом заголовочном файле под названием CFNetworkErrors.h, Эти новые домены и коды ошибки упоминаются ниже. Действительно сошлитесь на заголовочный файл CFNetworkErrors.h для большей части актуальной информации.
Изменения в CFNetworkErrors.h для OS X v10.5
- Ошибочные домены:
const CFStringRef kCFErrorDomainCFNetwork;- Ошибочные ключи и коды, которые могут быть получены из userInfo словаря CFERROR:
Когда ошибка kCFHostErrorUnknown возвращается, значение этого ключа установлено в CFNumber, содержащий необработанное ошибочное значение, возвращенное getaddrinfo ()
const CFStringRef kCFGetAddrInfoFailureKey;- Когда отказ SOCKS произошел, значение этого ключа установлено в CFString, содержащий значение состояния, возвращенное сервером SOCKS.
const CFStringRef kCFSOCKSStatusCodeKey;- Когда ошибка kCFSOCKSErrorUnsupportedServerVersion возвращается, значение этого ключа установлено в CFString, содержащий номер версии, который требует сервер.
const CFStringRef kCFSOCKSVersionKey;- Когда ошибка kCFSOCKS5ErrorUnsupportedNegotiationMethod возвращается, значение этого ключа установлено в CFString, содержащий метод согласования, вызванный сервером.
const CFStringRef kCFSOCKSNegotiationMethodKey;- То, когда ошибка kCFNetServicesErrorDNSServiceFailure возвращается, значение этого ключа установлено в CFNumber, содержащий значение, возвратилось из DNS; межмочите его с помощью значений dns_sd.h
константа CFStringRef kCFDNSServiceFailureKey;
- Когда ошибка kCFFTPErrorUnexpectedStatusCode возвращается, значение этого ключа установлено в CFString, содержащий код состояния, возвращенный сервером.
const CFStringRef kCFFTPStatusCodeKey;- Когда ошибка kCFFTPErrorUnexpectedStatusCode возвращается, значение этого ключа установлено в CFString, содержащий код состояния, возвращенный сервером.
const CFStringRef kCFFTPStatusCodeKey;
Посмотрите Ссылочную Библиотеку> Базовая Основа для большего количества подробных данных о типе CFError.
Новый API, доступный для OS X v10.5
CFNetServices.h
SInt32 CFNetServiceGetPortNumber(CFNetServiceRef theService);
Запросите Сетевую службу для ее номера порта. Параметр функции, «theService», является экземпляром Сетевой службы, который будет запрошен, и это должен быть не-NULL. Это возвращает SInt32, содержащий номер порта в порядке байтов узла. На ошибке это возвращается-1, если порт объекта не известен (не был разрешен),
CFProxySupport.h
CFArrayRef CFNetworkCopyProxiesForURL(CFURLRef url, CFDictionaryRef proxySettings);
Учитывая URL и словарь прокси, определяет упорядоченный список прокси, которые должны использоваться для загрузки данного URL. Параметр, «URL», указывает который CFURLRef найти информацию прокси для. «ProxySettings» параметр является словарем, описывающим доступные настройки прокси; формат словаря должен соответствовать, который описал в и возвратился SystemConfiguration.framework. Эта функция возвращает массив словарей; каждый словарь описывает единственный прокси.
CFArrayRef CFNetworkCopyProxiesForAutoConfigurationScript(CFStringRef proxyAutoConfigurationScript, CFURLRef targetURL);
Таким образом функция выполняет сценарий, данный в «proxyAutoConfigurationScript», с помощью «targetURL» как ввод. Это возвратит массив прокси, как возвращено сценарием.
CFRunLoopSourceRefCFNetworkExecuteProxyAutoConfigurationURL(CFURLRef proxyAutoConfigURL, |
CFURLRef targetURL, |
CFProxyAutoConfigurationResultCallback cb, |
CFStreamClientContext *clientContext); |
Асинхронно загружает сценарий автоматической конфигурации с данного URL, затем выполняет тот сценарий с помощью «targetURL» как ввод. После того, как завершенный, обратный вызов «cb» вызывают через цикл выполнения, передавая массив прокси, возвращенный сценарием. Обратите внимание на то, что вызывающая сторона должна запланировать возвращенный источник цикла выполнения на выполнение выполненный цикл для получения обратного вызова.
Ключи Типа прокси - дополнительную информацию см. в CFProxySupport.h
const CFStringRef kCFProxyTypeKey; |
const CFStringRef kCFProxyTypeNone; |
const CFStringRef kCFProxyTypeHTTP; |
const CFStringRef kCFProxyTypeHTTPS; |
const CFStringRef kCFProxyTypeSOCKS; |
const CFStringRef kCFProxyTypeFTP; |
const CFStringRef kCFProxyTypeAutoConfigurationURL; |
Ключ для имени хоста прокси; значение является CFString. Обратите внимание на то, что это может быть IPv4 или IPv6 строка точечного IP.
const CFStringRef kCFProxyHostNameKey;
Ключ для номера порта прокси; значение является CFNumber указание порта, на котором можно связаться с прокси.
const CFStringRef kCFProxyPortNumberKey;
Ключ для расположения файла PAC прокси; если тип прокси является kCFProxyTypeAutoConfigurationURL, этот ключ только присутствует. Значение является CFURL указание расположения файла автоматической конфигурации прокси.
const CFStringRef kCFProxyAutoConfigurationURLKey;
Ключ для имени пользователя, которое будет использоваться с прокси; значение является CFString. Если имя пользователя могло бы быть извлечено из информации, переданной в, Обратите внимание на то, что этот ключ будет только присутствовать. Ни с какими внешними учетными хранилищами (как Цепочка для ключей) не консультируются.
const CFStringRef kCFProxyUsernameKey;
Ключ для пароля, который будет использоваться с прокси; значение является CFString. Если имя пользователя могло бы быть извлечено из информации, переданной в, Обратите внимание на то, что этот ключ будет только присутствовать. Ни с какими внешними учетными хранилищами (как Цепочка для ключей) не консультируются.
const CFStringRef kCFProxyPasswordKey;
CFHTTPStream.h
Потоковый ключ свойства, для операций копии. Значение является CFHTTPMessage, переданным потоком, после того, как были сделаны все модификации (такой что касается аутентификации, политики установления соединений или перенаправления).
const CFStringRef kCFStreamPropertyHTTPFinalRequest;
CFHTTPMessage.h
Эти две строки представляют методы аутентификации, поддерживающиеся в CFNetwork.
const CFStringRef kCFHTTPAuthenticationSchemeNTLM;
const CFStringRef kCFHTTPAuthenticationSchemeNegotiate;
Новый API, доступный для OS X v10.6
CFProxySupport.h
Чтобы только к модели программирования вокруг использования прокси с CFNetwork, мы добавили, что поддержка получения системы сохранила интернет-настройки прокси непосредственно к CFNetwork. До этого нужно было использовать платформу SystemConfiguration для получения прокси и CFNetwork для установки прокси на потоке.
CFDictionaryRef CFNetworkCopySystemProxySettings( void ); |
Эта функция возвращает словарь, содержащий пары ключ/значение, представляющие текущие интернет-настройки прокси. Посмотрите ниже для определений ключей и значений. NULL возвратов, если никакие настройки прокси не были определены или если встретились с ошибкой. Вызывающая сторона ответственна за выпуск возвращенного словаря.
const CFStringRef kCFNetworkProxiesExceptionsList |
Ключ для списка образцов имени хоста, которые должны обойти прокси; значение является CFArray Кфстрингса.
const CFStringRef kCFNetworkProxiesExcludeSimpleHostnames |
Ключ, значение которого указывает, будут ли исключены простые имена хоста; значение является CFNumber. Если ключ будет присутствовать и будет иметь ненулевое значение, будут исключены простые имена хоста.
const CFStringRef kCFNetworkProxiesFTPEnable |
Ключ для включенного состояния прокси ftp; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, прокси включен.
const CFStringRef kCFNetworkProxiesFTPPassive |
Ключ для состояния пассивного режима для прокси ftp; значение является CFNumber. Значение каждый указывает, что пассивный режим включен, значение нуля указывает, что не включен пассивный режим.
const CFStringRef kCFNetworkProxiesFTPPort |
Ключ для номера порта связался с прокси ftp; значение является CFNumber, который является номером порта.
const CFStringRef kCFNetworkProxiesFTPProxy |
Ключ для имени хоста связался с прокси ftp; значение является CFString, который является именем прокси-сервера.
const CFStringRef kCFNetworkProxiesGopherEnable |
Ключ для включенного состояния прокси гофера; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, прокси включен.
const CFStringRef kCFNetworkProxiesGopherPort |
Ключ для номера порта связался с прокси гофера; значение является CFNumber, который является номером порта.
const CFStringRef kCFNetworkProxiesGopherProxy |
Ключ для имени хоста связался с прокси гофера; значение является CFString, который является именем прокси-сервера.
const CFStringRef kCFNetworkProxiesHTTPEnable |
Ключ для включенного состояния Прокси HTTP; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, прокси включен.
const CFStringRef kCFNetworkProxiesHTTPPort |
Ключ для номера порта связался с Прокси HTTP; значение является CFNumber, который является номером порта.
const CFStringRef kCFNetworkProxiesHTTPProxy |
Ключ для имени хоста связался с Прокси HTTP; значение является CFString, который является именем прокси-сервера.
const CFStringRef kCFNetworkProxiesHTTPSEnable |
Ключ для включенного состояния прокси HTTPS; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, прокси включен.
const CFStringRef kCFNetworkProxiesHTTPSPort |
Ключ для номера порта связался с прокси HTTPS; значение является CFNumber, который является номером порта.
const CFStringRef kCFNetworkProxiesHTTPSProxy |
Ключ для имени хоста связался с прокси HTTPS; значение является CFString, который является именем прокси-сервера.
const CFStringRef kCFNetworkProxiesRTSPEnable |
Ключ для включенного состояния прокси RTSP; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, прокси включен.
const CFStringRef kCFNetworkProxiesRTSPPort |
Ключ для номера порта связался с прокси RTSP; значение является CFNumber, который является номером порта.
const CFStringRef kCFNetworkProxiesRTSPProxy |
Ключ для имени хоста связался с прокси RTSP; значение является CFString, который является именем прокси-сервера.
const CFStringRef kCFNetworkProxiesSOCKSEnable |
Ключ для включенного состояния прокси SOCKS; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, прокси включен.
const CFStringRef kCFNetworkProxiesSOCKSPort |
Ключ для номера порта связался с прокси SOCKS; значение является CFNumber, который является номером порта.
const CFStringRef kCFNetworkProxiesSOCKSProxy |
Ключ для имени хоста связался с прокси SOCKS; значение является CFString, который является именем прокси-сервера.
const CFStringRef kCFNetworkProxiesProxyAutoConfigEnable |
Ключ для включенного состояния ProxyAutoConfig (PAC); значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, ProxyAutoConfig включают.
const CFStringRef kCFNetworkProxiesProxyAutoConfigURLString |
Ключ для URL, указывающего расположение ProxyAutoConfig (PAC) файл; значение является CFString, который является URL для файла PAC.
const CFStringRef kCFNetworkProxiesProxyAutoDiscoveryEnable |
Ключ для включенного состояния автоматического открытия прокси; значение является CFNumber. Если ключ присутствует и имеет ненулевое значение, автоматическое открытие прокси включено.
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 05.06.2008