Ссылка CFProxySupport
CFProxySupport API позволяет Вам использовать в своих интересах глобальные параметры конфигурации прокси в своем приложении.
CFProxySupport функционирует возвращаемые массивы словарей, где каждый словарь описывает единственный прокси. Массивы представляют порядок, в котором нужно попробовать прокси. В целом, если первый перестал работать, и т.д., необходимо попытаться загрузить URL с помощью первого прокси в массиве, попробовать второй прокси.
Каждый словарь прокси имеет запись для kCFProxyTypeKey
. Если тип - что-нибудь кроме kCFProxyTypeAutoConfigurationURL
, словарь также имеет записи для узла и порта прокси (под kCFProxyHostNameKey
и kCFProxyPortNumberKey
соответственно). Если тип kCFProxyTypeAutoConfigurationURL
, это имеет запись для kCFProxyAutoConfigurationURLKey
.
Ключи для имени пользователя и пароля являются дополнительными и присутствуют, только если имя пользователя или пароль могло быть извлечено из информации, переданной в (или от URL самой или из предоставленного словаря прокси). Этот APIs не консультируется ни с какими внешними учетными хранилищами, такими как Цепочка для ключей.
-
Возвращает список прокси, которые должны использоваться для загрузки данного URL.
Объявление
Swift
func CFNetworkCopyProxiesForURL(_
url
: CFURL!, _proxySettings
: CFDictionary!) -> Unmanaged<CFArray>!Objective C
CFArrayRef CFNetworkCopyProxiesForURL ( CFURLRef url, CFDictionaryRef proxySettings );
Параметры
url
URL Ваше приложение намеревается получить доступ.
proxySettings
Словарь, описывающий доступные настройки прокси. Словарь должен быть в формате, возвращенном
SystemConfiguration.framework
. (См. Ссылку Платформы Конфигурации системы для получения дополнительной информации.)Возвращаемое значение
Возвращает массив словарей. Каждый словарь описывает единственный прокси. Массив упорядочивается оптимально для запроса указанного URL.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
AvailabilityItem
-
CFNetworkCopyProxiesForAutoConfigurationScript (_: _: _:) CFNetworkCopyProxiesForAutoConfigurationScript
Выполняет сценарий автоматической конфигурации прокси для определения лучшего прокси для использования для получения указанного URL.
Объявление
Swift
func CFNetworkCopyProxiesForAutoConfigurationScript(_
proxyAutoConfigurationScript
: CFString!, _targetURL
: CFURL!, _error
: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFArray>!Objective C
CFArrayRef CFNetworkCopyProxiesForAutoConfigurationScript ( CFStringRef proxyAutoConfigurationScript, CFURLRef targetURL, CFErrorRef *error );
Параметры
proxyAutoConfigurationScript
A
CFString
содержа код сценария автоматической конфигурации для выполнения.targetURL
URL Ваше приложение намеревается получить доступ.
error
Адрес ошибочной ссылки на объект, перезаписывающейся по возврату, если происходит ошибка.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в OS X v10.5 и позже.
-
CFNetworkExecuteProxyAutoConfigurationScript (_: _: _: _:) CFNetworkExecuteProxyAutoConfigurationScript
Загружает сценарий автоматической конфигурации прокси и выполняет его.
Объявление
Swift
func CFNetworkExecuteProxyAutoConfigurationScript(_
proxyAutoConfigurationScript
: CFString!, _targetURL
: CFURL!, _cb
: CFProxyAutoConfigurationResultCallback, _clientContext
: UnsafeMutablePointer<CFStreamClientContext>) -> Unmanaged<CFRunLoopSource>!Objective C
CFRunLoopSourceRef CFNetworkExecuteProxyAutoConfigurationScript ( CFStringRef proxyAutoConfigurationScript, CFURLRef targetURL, CFProxyAutoConfigurationResultCallback cb, CFStreamClientContext *clientContext );
Параметры
proxyAutoConfigurationScript
A
CFString
содержа код сценария автоматической конфигурации, который будет выполняться.targetURL
URL, что Ваше приложение намеревается в конечном счете загрузить использование прокси.
cb
Обратный вызов, который вызовут, когда закончено выполнение сценария.
clientContext
Потоковый контекст, содержащий клиентскую информацию, возражает и дополнительно сохраняет и выпускает обратные вызовы для того объекта.
Обсуждение
Эта функция возвращает источник цикла выполнения, который должна запланировать вызывающая сторона. Как только выполнение сценария завершилось, указанную функцию обратного вызова вызывают.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в OS X v10.5 и позже.
-
Загружает сценарий автоматической конфигурации прокси и выполняет его.
Объявление
Swift
func CFNetworkExecuteProxyAutoConfigurationURL(_
proxyAutoConfigURL
: CFURL!, _targetURL
: CFURL!, _cb
: CFProxyAutoConfigurationResultCallback, _clientContext
: UnsafeMutablePointer<CFStreamClientContext>) -> Unmanaged<CFRunLoopSource>!Objective C
CFRunLoopSourceRef CFNetworkExecuteProxyAutoConfigurationURL ( CFURLRef proxyAutoConfigURL, CFURLRef targetURL, CFProxyAutoConfigurationResultCallback cb, CFStreamClientContext *clientContext );
Параметры
proxyAutoConfigURL
URL сценария автоматической конфигурации.
targetURL
URL, что Ваше приложение намеревается в конечном счете загрузить использование прокси.
cb
Обратный вызов, который вызовут, когда закончено выполнение сценария.
clientContext
Потоковый контекст, содержащий клиентскую информацию, возражает и дополнительно сохраняет и выпускает обратные вызовы для того объекта.
Обсуждение
Эта функция возвращает источник цикла выполнения, который должна запланировать вызывающая сторона. Один раз загрузка и выполнение сценария завершился, указанную функцию обратного вызова вызывают.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает CFDictionary, содержащий текущие интернет-настройки прокси в масштабе всей системы.
Объявление
Swift
func CFNetworkCopySystemProxySettings() -> Unmanaged<CFDictionary>!
Objective C
CFDictionaryRef CFNetworkCopySystemProxySettings ( void );
Обсуждение
Словарь возвратился, содержит пары ключ/значение, представляющие текущие интернет-настройки прокси. Ключи в этом словаре определяются в Глобальных Константах Настроек Прокси.
Вызывающая сторона ответственна за выпуск возвращенного словаря.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в OS X v10.6 и позже.
-
Когда вычисление автоматической конфигурации прокси завершилось, функция обратного вызова вызвала.
Объявление
Swift
typealias CFProxyAutoConfigurationResultCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, CFArray!, CFError!) -> Void)>
Objective C
typedef CALLBACK_API_C( void, CFProxyAutoConfigurationResultCallback )( void *client, CFArrayRef proxyList, CFErrorRef error );
Параметры
client
Клиентская ссылка первоначально передала в
clientContext
параметрCFNetworkExecuteProxyAutoConfigurationScript
илиCFNetworkExecuteProxyAutoConfigurationURL
вызовите, который инициировал этот обратный вызов.proxyList
Список прокси, возвращенных сценарием автоматической конфигурации. Этот список находится в формате, подходящем для передачи
CFProxyCopyProxiesForURL
(с добавленной гарантией, что никакие записи никогда не будут автоматической конфигурацией записи URL). Если ошибка произойдет, то это значение будетNULL
.error
Ошибочный объект, указывающий любую ошибку, которая, возможно, произошла. Если никакая ошибка не произошла, этим значением будет NULL.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в OS X v10.5 и позже.
-
Ключи для вызовов к свойству функции get/set такой как
CFReadStreamSetProperty
иCFReadStreamCopyProperty
.Объявление
Swift
let kCFProxyAutoConfigurationHTTPResponseKey: CFString! let kCFProxyAutoConfigurationJavaScriptKey: CFString! let kCFProxyAutoConfigurationURLKey: CFString! let kCFProxyHostNameKey: CFString! let kCFProxyPasswordKey: CFString! let kCFProxyPortNumberKey: CFString! let kCFProxyTypeKey: CFString! let kCFProxyUsernameKey: CFString!
Objective C
const CFStringRef kCFProxyAutoConfigurationHTTPResponseKey; const CFStringRef kCFProxyAutoConfigurationJavaScriptKey; const CFStringRef kCFProxyAutoConfigurationURLKey; const CFStringRef kCFProxyHostNameKey; const CFStringRef kCFProxyPasswordKey; const CFStringRef kCFProxyPortNumberKey; const CFStringRef kCFProxyTypeKey; const CFStringRef kCFProxyUsernameKey;
Константы
-
kCFProxyAutoConfigurationHTTPResponseKey
kCFProxyAutoConfigurationHTTPResponseKey
A
CFHTTPMessageRef
значение, найденное в пользовательском информационном словаре ошибки аутентификации, возвратилось кCFNetworkCopyProxiesForAutoConfigurationScript
функционируйте или к aCFProxyAutoConfigurationResultCallback
обратный вызов.Доступный в OS X v10.5 и позже.
-
kCFProxyAutoConfigurationJavaScriptKey
kCFProxyAutoConfigurationJavaScriptKey
A
CFString
значение, содержащее полный источник JavaScript для автоматической конфигурации прокси (PAC) файл. Этот ключ только присутствует для прокси типаkCFProxyAutoConfigurationJavaScript
.Доступный в OS X v10.7 и позже.
-
kCFProxyAutoConfigurationURLKey
kCFProxyAutoConfigurationURLKey
A
CFURL
значение, указывающее расположение автоматической конфигурации прокси (PAC) файл. Этот ключ только присутствует для прокси типаkCFProxyTypeAutoConfigurationURL
.Доступный в OS X v10.5 и позже.
-
kCFProxyHostNameKey
kCFProxyHostNameKey
A
CFString
значение, содержащее или имя хоста или IP-адрес прокси-сервера.Доступный в OS X v10.5 и позже.
-
kCFProxyPasswordKey
kCFProxyPasswordKey
Пароль, который будет использоваться при контакте с прокси. Если пароль может быть определен от информации, переданной в, этот ключ только присутствует. (С внешними учетными хранилищами, такими как цепочка для ключей не консультируются.)
Доступный в OS X v10.5 и позже.
-
kCFProxyPortNumberKey
kCFProxyPortNumberKey
A
CFNumber
значение, указывающее порт, который должен использоваться для контакта с прокси.Доступный в OS X v10.5 и позже.
-
kCFProxyTypeKey
kCFProxyTypeKey
Указывает тип прокси. Значение может быть любым из значений, перечисленных в Типах Прокси.
Доступный в OS X v10.5 и позже.
-
kCFProxyUsernameKey
kCFProxyUsernameKey
Имя пользователя, которое будет использоваться при контакте с прокси. Если имя пользователя может быть определено от информации, переданной в, этот ключ только присутствует. (С внешними учетными хранилищами, такими как цепочка для ключей не консультируются.)
Доступный в OS X v10.5 и позже.
-
-
Константы, указывающие тип прокси.
Объявление
Swift
let kCFProxyTypeNone: CFString! let kCFProxyTypeAutoConfigurationURL: CFString! let kCFProxyTypeAutoConfigurationJavaScript: CFString! let kCFProxyTypeFTP: CFString! let kCFProxyTypeHTTP: CFString! let kCFProxyTypeHTTPS: CFString! let kCFProxyTypeSOCKS: CFString!
Objective C
const CFStringRef kCFProxyTypeNone; const CFStringRef kCFProxyTypeAutoConfigurationURL; const CFStringRef kCFProxyTypeAutoConfigurationJavaScript; const CFStringRef kCFProxyTypeFTP; const CFStringRef kCFProxyTypeHTTP; const CFStringRef kCFProxyTypeHTTPS; const CFStringRef kCFProxyTypeSOCKS;
Константы
-
kCFProxyTypeNone
kCFProxyTypeNone
Указывает, что не должен использоваться никакой прокси.
Доступный в OS X v10.5 и позже.
-
kCFProxyTypeAutoConfigurationURL
kCFProxyTypeAutoConfigurationURL
Указывает, что прокси определяется файлом автоматической конфигурации в данном URL.
Доступный в OS X v10.5 и позже.
-
kCFProxyTypeAutoConfigurationJavaScript
kCFProxyTypeAutoConfigurationJavaScript
Указывает, что прокси определяется предоставленным сценарием автоматической конфигурации.
Доступный в OS X v10.7 и позже.
-
kCFProxyTypeFTP
kCFProxyTypeFTP
Указывает прокси FTP.
Доступный в OS X v10.5 и позже.
-
kCFProxyTypeHTTP
kCFProxyTypeHTTP
Указывает Прокси HTTP.
Доступный в OS X v10.5 и позже.
-
kCFProxyTypeHTTPS
kCFProxyTypeHTTPS
Указывает прокси HTTPS.
Доступный в OS X v10.5 и позже.
-
kCFProxyTypeSOCKS
kCFProxyTypeSOCKS
Указывает прокси SOCKS.
Доступный в OS X v10.5 и позже.
-
-
Константы для ключей в глобальном словаре настроек прокси, возвращенном
CFNetworkCopySystemProxySettings
.Объявление
Swift
let kCFNetworkProxiesExceptionsList: CFString! let kCFNetworkProxiesExcludeSimpleHostnames: CFString! let kCFNetworkProxiesFTPEnable: CFString! let kCFNetworkProxiesFTPPassive: CFString! let kCFNetworkProxiesFTPPort: CFString! let kCFNetworkProxiesFTPProxy: CFString! let kCFNetworkProxiesGopherEnable: CFString! let kCFNetworkProxiesGopherPort: CFString! let kCFNetworkProxiesGopherProxy: CFString! let kCFNetworkProxiesHTTPEnable: CFString! let kCFNetworkProxiesHTTPPort: CFString! let kCFNetworkProxiesHTTPProxy: CFString! let kCFNetworkProxiesHTTPSEnable: CFString! let kCFNetworkProxiesHTTPSPort: CFString! let kCFNetworkProxiesHTTPSProxy: CFString! let kCFNetworkProxiesRTSPEnable: CFString! let kCFNetworkProxiesRTSPPort: CFString! let kCFNetworkProxiesRTSPProxy: CFString! let kCFNetworkProxiesSOCKSEnable: CFString! let kCFNetworkProxiesSOCKSPort: CFString! let kCFNetworkProxiesSOCKSProxy: CFString! let kCFNetworkProxiesProxyAutoConfigEnable: CFString! let kCFNetworkProxiesProxyAutoConfigJavaScript: CFString! let kCFNetworkProxiesProxyAutoConfigURLString: CFString! let kCFNetworkProxiesProxyAutoDiscoveryEnable: CFString!
Objective C
const CFStringRef kCFNetworkProxiesExceptionsList; const CFStringRef kCFNetworkProxiesExcludeSimpleHostnames; const CFStringRef kCFNetworkProxiesFTPEnable; const CFStringRef kCFNetworkProxiesFTPPassive; const CFStringRef kCFNetworkProxiesFTPPort; const CFStringRef kCFNetworkProxiesFTPProxy; const CFStringRef kCFNetworkProxiesGopherEnable; const CFStringRef kCFNetworkProxiesGopherPort; const CFStringRef kCFNetworkProxiesGopherProxy; const CFStringRef kCFNetworkProxiesHTTPEnable; const CFStringRef kCFNetworkProxiesHTTPPort; const CFStringRef kCFNetworkProxiesHTTPProxy; const CFStringRef kCFNetworkProxiesHTTPSEnable; const CFStringRef kCFNetworkProxiesHTTPSPort; const CFStringRef kCFNetworkProxiesHTTPSProxy; const CFStringRef kCFNetworkProxiesRTSPEnable; const CFStringRef kCFNetworkProxiesRTSPPort; const CFStringRef kCFNetworkProxiesRTSPProxy; const CFStringRef kCFNetworkProxiesSOCKSEnable; const CFStringRef kCFNetworkProxiesSOCKSPort; const CFStringRef kCFNetworkProxiesSOCKSProxy; const CFStringRef kCFNetworkProxiesProxyAutoConfigEnable; const CFStringRef kCFNetworkProxiesProxyAutoConfigJavaScript; const CFStringRef kCFNetworkProxiesProxyAutoConfigURLString; const CFStringRef kCFNetworkProxiesProxyAutoDiscoveryEnable;
Константы
-
kCFNetworkProxiesExceptionsList
kCFNetworkProxiesExceptionsList
Значение является a
CFArray
изCFString
объекты, указывающие образцы имени хоста, которые должны обойти прокси.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesExcludeSimpleHostnames
kCFNetworkProxiesExcludeSimpleHostnames
Значение является a
CFNumber
объект, указывающий, исключены ли простые имена хоста. Простые имена хоста исключены, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesFTPEnable
kCFNetworkProxiesFTPEnable
Значение является a
CFNumber
объект, указывающий, включен ли прокси FTP. Прокси включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesFTPPassive
kCFNetworkProxiesFTPPassive
Значение является a
CFNumber
объект, указывающий, включен ли пассивный режим прокси FTP. Пассивный режим включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesFTPPort
kCFNetworkProxiesFTPPort
Значение является a
CFNumber
объект, указывающий номер порта прокси FTP.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesFTPProxy
kCFNetworkProxiesFTPProxy
Значение является a
CFString
объект, указывающий имя хоста или IP-адрес прокси FTP.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesGopherEnable
kCFNetworkProxiesGopherEnable
Значение является a
CFNumber
объект, указывающий, включен ли прокси гофера. Прокси включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesGopherPort
kCFNetworkProxiesGopherPort
Значение является a
CFNumber
указание номера порта прокси гофера.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesGopherProxy
kCFNetworkProxiesGopherProxy
Значение является a
CFString
объект, указывающий имя хоста или IP-адрес прокси гофера.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesHTTPEnable
kCFNetworkProxiesHTTPEnable
Значение является a
CFNumber
объект, указывающий, включен ли Прокси HTTP. Прокси включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesHTTPPort
kCFNetworkProxiesHTTPPort
Значение является a
CFNumber
объект, содержащий номер порта, связался с Прокси HTTP.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesHTTPProxy
kCFNetworkProxiesHTTPProxy
Значение является a
CFString
объект, содержащий имя хоста Прокси HTTP или IP-адрес.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesHTTPSEnable
kCFNetworkProxiesHTTPSEnable
Значение является a
CFNumber
объект, указывающий, включен ли прокси HTTPS. Прокси включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesHTTPSPort
kCFNetworkProxiesHTTPSPort
Значение является a
CFNumber
объект, содержащий номер порта, связался с прокси HTTPS.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesHTTPSProxy
kCFNetworkProxiesHTTPSProxy
Значение является a
CFString
объект, содержащий имя прокси-сервера HTTPS или IP-адрес.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesRTSPEnable
kCFNetworkProxiesRTSPEnable
Значение является a
CFNumber
объект, указывающий, включен ли прокси RTSP. Прокси включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesRTSPPort
kCFNetworkProxiesRTSPPort
Значение является a
CFNumber
объект, содержащий номер порта, связался с прокси RTSP.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesRTSPProxy
kCFNetworkProxiesRTSPProxy
Значение является a
CFString
объект, содержащий имя прокси-сервера RTSP или IP-адрес.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesSOCKSEnable
kCFNetworkProxiesSOCKSEnable
Значение является a
CFNumber
объект, указывающий, включен ли прокси SOCKS. Прокси включен, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesSOCKSPort
kCFNetworkProxiesSOCKSPort
Значение является a
CFNumber
объект, содержащий номер порта, связался с прокси SOCKS.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesSOCKSProxy
kCFNetworkProxiesSOCKSProxy
Значение является a
CFString
объект, содержащий имя прокси-сервера SOCKS или IP-адрес.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesProxyAutoConfigEnable
kCFNetworkProxiesProxyAutoConfigEnable
Значение является a
CFNumber
объект, указывающий, включена ли автоматическая конфигурация прокси. Автоматическая конфигурация прокси включена, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesProxyAutoConfigJavaScript
kCFNetworkProxiesProxyAutoConfigJavaScript
Значение является a
CFString
объект, содержащий полный источник JavaScript ProxyAutoConfig (PAC) файл.Доступный в OS X v10.7 и позже.
-
kCFNetworkProxiesProxyAutoConfigURLString
kCFNetworkProxiesProxyAutoConfigURLString
Значение является a
CFString
объект, содержащий URL автоматической конфигурации прокси (PAC) файл.Доступный в OS X v10.6 и позже.
-
kCFNetworkProxiesProxyAutoDiscoveryEnable
kCFNetworkProxiesProxyAutoDiscoveryEnable
Значение является a
CFNumber
объект, указывающий, включено ли автооткрытие прокси. Автооткрытие прокси включено, если ключ присутствует, и присваиваемое значение является ненулевым.Доступный в OS X v10.6 и позже.
-