公司网络很多都是有代理设置的,如果设备通过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