如何以编程方式绕过 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)
这些是我的步骤
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)