iOS判断是否开启代理,防止Charles抓包

直接检查是否设置了代理即可

- (BOOL)checkProxySetting

{

      NSDictionary*proxySettings = (__bridgeNSDictionary*)  (CFNetworkCopySystemProxySettings());

      NSArray*proxies = (__bridgeNSArray*)(CFNetworkCopyProxiesForURL((__bridgeCFURLRef_Nonnull)([NSURLURLWithString:@"https://www.baidu.com"]), (__bridgeCFDictionaryRef_Nonnull)(proxySettings)));

      NSLog(@"\n%@",proxies);

      NSDictionary*settings = proxies[0];

      NSLog(@"%@",[settings objectForKey:(NSString *)kCFProxyHostNameKey]);

      NSLog(@"%@",[settings objectForKey:(NSString *)kCFProxyPortNumberKey]);

      NSLog(@"%@",[settings objectForKey:(NSString *)kCFProxyTypeKey]);

      if([[settingsobjectForKey:(NSString*)kCFProxyTypeKey]isEqualToString:@"kCFProxyTypeNone"])

      {

          NSLog(@"没设置代理");

          returnNO;

      }

      else

      {

          NSLog(@"设置了代理");

          returnYES;

      }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。