【问题标题】:How to bypass proxy in iOS programmatically?如何以编程方式绕过iOS中的代理?
【发布时间】:2015-03-19 15:01:48
【问题描述】:

这是我的步骤

网络现在可用于 Wifi。

打开系统 WiFi 设置

选择手动代理设置

配置无效参数

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

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

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

【问题讨论】:

    标签: ios objective-c ipad swift network-programming


    【解决方案1】:

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

    如需了解更多信息,请阅读CFNetwork Programming Guide

    【讨论】:

      【解决方案2】:

      在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;
      

      斯威夫特

      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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-10
        • 2016-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多