为什么我在实施 didReceiveAuthenticationChallenge 方法后从 mac 获得代理身份验证对话?

Why am i getting the proxy authentication dialogue from mac when i have implemented the didReceiveAuthenticationChallenge method?

有什么方法可以抑制这种隐式身份验证对话吗?

我在调用我的 didRecieveAuthenticationChallenge 函数之前收到此对话。 我无法理解的是,如果我自己处理身份验证,为什么会有这个对话。

我从 c​​anAuthenticateAgainstProtectionSpace 方法返回 YES。 但是对话出现在点击

之前

OS X 和 iOS 仅针对提供 WWW-Authenticate header 的挑战调用您应用的处理程序。通常,代理质询会提供带有 Proxy-Authenticate header 的 407 响应,这不会被视为应用可以响应的质询。

如果您不知何故知道代理的凭据,您可以 pre-populate 用户的钥匙串与这些凭据,OS 将自动使用它们。

如果您控制代理,您可以让它发送 401,然后 OS 会将其传递给您的客户端。或者,在 iOS 9 和 OS X v10.11 中,您 可能 能够利用网络扩展来控制代理,但那是通常仅当您的应用程序的目的是控制充当代理的某些硬件时才适用,而且我还没有查看 NE 的这些方面以了解它是否提供该级别的控制。

否则,OS 的行为符合预期,除了提交错误以请求代理身份验证的新身份验证质询类型之外,您无能为力。