iOS开发 如何判断网络请求是否开启了代理

即便很多公司使用了Https,但是使用Charles,同样是可以破解的,破解方法。网上找了很多方法都是MRC的,这里给大家搞了一个ARC的方法,仅供参考!

- (BOOL)getProxyStatus {
    NSDictionary *proxySettings =  (__bridge NSDictionary *)(CFNetworkCopySystemProxySettings());
    NSArray *proxies = (__bridge NSArray *)(CFNetworkCopyProxiesForURL((__bridge CFURLRef _Nonnull)([NSURL URLWithString:@"http://www.baidu.com"]), (__bridge CFDictionaryRef _Nonnull)(proxySettings)));
    NSDictionary *settings = [proxies objectAtIndex:0];
    
    NSLog(@"host=%@", [settings objectForKey:(NSString *)kCFProxyHostNameKey]);
    NSLog(@"port=%@", [settings objectForKey:(NSString *)kCFProxyPortNumberKey]);
    NSLog(@"type=%@", [settings objectForKey:(NSString *)kCFProxyTypeKey]);
    
    if ([[settings objectForKey:(NSString *)kCFProxyTypeKey] isEqualToString:@"kCFProxyTypeNone"]){
        //没有设置代理
        return NO;
    }else{
        //设置代理了
        return YES;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,118评论 25 709
  • 昨日剃了头,今夜行走冷飕飕。 念起地铁猛涨价,更是忧愁。 车缓走,行人稠。 当年负气觅公侯,一梦方醒,无处可投。
    柏舟BAEJOU阅读 175评论 0 0
  • 除了吃 我找不到其他事情 填满我的空虚 ……咳咳咳 胃的空虚🤣
    言吾0阅读 114评论 0 0
  • 苹果iPhone6和iPhone 6 Plus开卖已经有快一周的时间。这次新款iPhone给人最直观的印象就是增大...
    港漂圈豆豆阅读 322评论 0 4