iOS 开发如何对网络添加代理

iOS开发如何网络添加代理

为什么需要代理?

我们提供的一些SDK给外部的合作伙伴使用,如果合作伙伴需要进行测试,可是测试环境部署在公司内网,为了让合作伙伴有限的访问内部的测试资源进行测试,这时候就需要代理。代理又分为正向代理和反向代理,具体想要了解代理是什么,可以参考这篇文章

如何添加代理

其实iOS常规使用的网络库AFNetworking已经支持代理的配置。具体做法就是在请求头添加一些字段来标识这是一个代理请求,关键的请求头字段名:Proxy-Authorization,具体代码参考如下:
```objC
//代理配置信息,配置host和port(代理服务器的域名和端口)
NSDictionary *proxyDic = @{
@"HTTPEnable":@1,
(NSString *)kCFStreamPropertyHTTPProxyHost:host,
(NSString *)kCFStreamPropertyHTTPProxyPort:port,
@"HTTPSEnable":@1,
(NSString *)kCFStreamPropertyHTTPSProxyHost:host,
(NSString *)kCFStreamPropertyHTTPSProxyPort:port,
};
//配置URLSession,ephemeralSessionConfiguration这是一个临时会话配置
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];

top Created with Sketch.