禁用NSURLSession的代理

时间:2016-09-02 17:39:20

标签: ios nsurlsession

我发现当我的iOS设备自动配置代理时,我的所有NSURLSession都将其用于下载/上传/请求。当我尝试从同一本地网络上的其他设备发出请求时,这就成了问题。我需要禁用设备为NSURLSession自动检测的代理。

每个帖子到处都显示如何设置代理词典,但是,我无法在任何地方找到如何确保NRURLSession不使用代理。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

如果在创建会话配置时提供代理字典,NSURLSession应忽略使用该会话配置创建的所有会话中系统提供的代理。

如果你试图在你没有创建会话的地方覆盖它(例如第三方框架,网页浏览等),你可以通常解决通过创建和注册(全局)NSURLProtocol来接收请求并在您自己的会话中重新发出它们(添加一些自定义标头,以便您不会在无限循环中重新发出相同的请求)。在Apple的网站上有一些编写自定义协议的基本示例。