公司网络很多都是有代理设置的,如果设备通过wifi上网,就要过公司网络代理。
于是想到一个问题:如何读取iOS设备的代理设置?
用过ASIHTTPRequest这个开源网络库,它可以读取代理设置,于是我在源码中发现读取代理设置的方法,我已把代码提取出来:
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]);
需要CFNetwork.framework