Получить настройки прокси системы на устройстве iOS, использующем файл PAC, с помощью Objective-C

В настоящее время я использую следующий фрагмент кода для обнаружения прокси, используемого устройством iOS, на котором выполняется мое приложение:

NSDictionary *proxySettings = NSMakeCollectable([(NSDictionary *)CFNetworkCopySystemProxySettings() autorelease]);  
NSArray *proxies = NSMakeCollectable([(NSArray *)CFNetworkCopyProxiesForURL((CFURLRef)[NSURL URLWithString:@"http://www.google.com"], (CFDictionaryRef)proxySettings) autorelease]);  
NSDictionary *settings = [proxies objectAtIndex:0];  
NSLog(@"host=%@", [settings objectForKey:(NSString *)kCFProxyHostNameKey]);  
NSLog(@"port=%@", [settings objectForKey:(NSString *)kCFProxyPortNumberKey]);  
NSLog(@"type=%@", [settings objectForKey:(NSString *)kCFProxyTypeKey]);  

Однако это не возвращает сведения о прокси, если устройство использует файл PAC для настройки прокси.

Из документации Apple: https://developer.apple.com/documentation/cfnetwork/kcfnetworkproxiesproxyautoconfigjavascript?language=objc, кажется, что kCFNetworkProxiesProxyAutoConfigJavaScript возвращает источник для файла PAC

Кроме того, также можно использовать kCFNetworkProxiesProxyAutoConfigURLString: https://developer.apple.com/documentation/cfnetwork/kcfnetworkproxiesproxyautoconfigurlstring?language=objc

Тем не менее, я не смог найти рабочий образец для вышеупомянутого.

Кроме того, есть ли лучший / правильный способ обнаружения / получения настроек прокси на устройстве iOS, которое использует файл PAC?

0 ответов

Другие вопросы по тегам