iOS之AFNetworking添加代理服务器访问网络

网上找的如下, 但是kCFStreamPropertyHTTPProxyHost 等常量已经被标为 Deprecated,会有警告

 config.connectionProxyDictionary = @
    {
        @"HTTPEnable":@YES,
        (id)kCFStreamPropertyHTTPProxyHost:@"127.0.0.1",
        (id)kCFStreamPropertyHTTPProxyPort:@80,
        @"HTTPSEnable":@YES,
        (id)kCFStreamPropertyHTTPSProxyHost:@"127.0.0.1",
        (id)kCFStreamPropertyHTTPSProxyPort:@80
    };

写成字符串常量,也是可以的, 并且不会有警告

        NSString *ip = @"122.0.0.1";
        NSNumber *proxyPort = [NSNumber numberWithInt:8000];
        NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
        config.connectionProxyDictionary = @
            {
                @"HTTPEnable":@YES,
                @"HTTPProxy" : ip,
                @"HTTPPort" : proxyPort,
                @"HTTPSEnable":@YES,
                @"HTTPSProxy": ip,
                @"HTTPSPort": proxyPort
            };
        AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:nil sessionConfiguration:config];

对于新版的 iOS 和 macOS,CocoaTouch 层级负责通讯的类是 NSURLSession,如果需要通过代理访问网络,是需要指定其 configuration 属性,configuration 的类型是 NSURLSessionConfiguration
  将 NSURLSessionConfiguration 的 connectionProxyDictionary 属性指定为相应的 Dictionary。

你可能感兴趣的:(ios,objective-c,xcode)