如何以编程方式绕过 iOS 中的代理?

How to bypass proxy in iOS programmatically?

这些是我的步骤

Wifi 现在可以使用网络了。

打开系统 WiFi 设置

Select 手动代理设置

配置无效参数

打开浏览器并确保互联网不可用

启动应用程序并确保没有互联网

有没有什么方法可以从应用程序内部以编程方式绕过这些代理设置,以便我可以连接到互联网?

您可能想要使用 CFHTTPStream,默认情况下它不会自动使用代理设置。

有关详细信息,请阅读 CFNetwork Programming Guide

在 2018 年遇到您的问题,在文档中挖掘了一段时间后,在代理字典中找到了用于设置的关键 kCFStreamPropertyProxyLocalBypass。 仅供参考:https://developer.apple.com/documentation/cfnetwork/kcfstreampropertyproxylocalbypass

Objective-C

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];

NSDictionary *proxyDict = @{
                        @"HTTPEnable"  : [NSNumber numberWithInt:1],
                        (NSString *)kCFStreamPropertyProxyLocalBypass  : @"10.26.*.*",              
                        @"HTTPSEnable" : [NSNumber numberWithInt:1],
                       (NSString *)kCFStreamPropertyProxyLocalBypass  : @"10.26.*.*"
                          };
sessionConfig.connectionProxyDictionary = proxyDict;

Swift

let sessionConfig = URLSessionConfiguration.default
var proxyDict = [AnyHashable : Any]()
proxyDict[kCFStreamPropertyProxyLocalBypass as String] = "10.26.*.*"
sessionConfig.connectionProxyDictionary = proxyDict
let session = URLSession.init(configuration: config, delegate: nil, delegateQueue: OperationQueue.current)