我正在将iOS应用程序从NSURLConnection转换为NSURLSession。
服务器与之交互使用https(由认可的CA签名的证书)和基本身份验证。
我没有使用完成块来进行数据返回,而是使用自定义委托。我在其他地方看到,使用自定义委托意味着我应该响应AuthenticationChallenges而不是依赖于CredentialStorage(不是那个也可以,但那是另一个问题)。
我的问题是,针对ServerTrust的挑战发生一次,但是不会再次调用HttpBasic身份验证。所以,我的会议超时了。
我尝试使用'defaultSession dataTaskWithRequest'的完成块而不是自定义委托,只是为了看看我是否可以超越这一点,但它没有任何区别。我也尝试将CredentialStorage用于HttpBasic凭证,但如上所述,没有任何乐趣。
这让我很难过。有什么想法吗?
Runnable
答案 0 :(得分:4)
没有特别的顺序:
我不确定代码中是否还有其他错误,但这三个错误都可能导致严重的不当行为,其中一个是一个主要的安全漏洞。首先修复这些问题,如果仍然无法解决问题,请添加更多评论。 : - )