CFNetwork读取iOS设备的代理设置
来源:互联网 发布:马尔科夫人力资源矩阵 编辑:程序博客网 时间:2024/06/04 23:56
转载自:http://www.cocoachina.com/ios/20111118/3538.html
公司网络很多都是有代理设置的,如果设备通过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
注意:实际使用该段代码时,经系统错误提示,需要使用到__bridge。
NSDictionary *proxySettings = NSMakeCollectable((__bridge CFTypeRef)([(__bridge NSDictionary *)CFNetworkCopySystemProxySettings() autorelease]));
NSArray *proxies = NSMakeCollectable((__bridge CFTypeRef)([(NSArray *)CFNetworkCopyProxiesForURL((CFURLRef)[NSURL URLWithString:@"http://www.baidu.com"], (__bridge CFDictionaryRef)proxySettings) autorelease]));
Compiler Flag改为-fno-objc-arc即可。
- CFNetwork读取iOS设备的代理设置
- 如何读取iOS设备的代理设置
- 读取iOS设备的代理设置
- 读取iOS代理设置的代码
- 读取iOS代理设置的代码
- 读取iOS代理设置的代码
- 读取iOS代理设置的代码
- iOS开发之CFNetWork的简单使用
- iOS开发之CFNetWork的简单使用
- iOS开发之CFNetWork的简单使用
- IOS CFNetwork 基本结构
- iOS CFNetwork 内部原理
- 读取iOS设备中应用的数据
- ios设备使用socks代理
- CFNetwork的错误代码参考
- iphone的CFNetwork编程
- IOS 获得当前设备使用的代理IP
- IOS 设置代理
- Ubuntu 中安装fcitx中文输入法,五笔和拼音
- Qt开发,将数据库封装
- 5.1 GRO(Generic Receive Offload)
- 九种引人瞩目的开源大数据技术
- ssjs-记录-1
- CFNetwork读取iOS设备的代理设置
- 加盟
- Java synchronized、wait、notify实现线程(生成消费者模式)
- 使用Aop和AbstractRoutingDataSource实现多数据源的配置
- eclipse导出javadoc
- 金阳光测试:单元测试第九讲ppt+源代码+视频
- Arraylist
- 黑马程序员——GUI
- 序列化与反序列化