NSURLProtocol链?

时间:2017-06-28 18:08:28

标签: nsurlprotocol

我们可以使用这样的链条吗?

例如,我知道像abc://wwww.example.com这样的网址将由NSURLProtocol的子类处理。但它来自第三方库,我没有源代码来修改响应。所以我提供NSURLProtocol的另一个子类来处理像xyz://www.example.com这样的网址。我能够截取并更改从abc到xyz的URL。在我自己的startLoading()中,我将url从xyz更改为abc并使用NSURLSession将请求发送到abc://www.example.com但是出现错误,看起来请求没有通过第三方NSURPProtocol子类。

任何建议?

1 个答案:

答案 0 :(得分:0)

NSURLProtocol个子类仅在NSURLConnection全局注册。对于NSURLSession,注册是按会话进行的。

如果您希望以影响第三方库的方式注册NSURLProtocol,我唯一知道的方法就是通过调用{{1}上的所有会话创建方法并使用将自定义协议注入到配置中的代码包装它们。