我在SO上看过一些类似的问题,但最近都没有 - 所以我正在检查是否有任何改变。
我看到didReceiveAuthenticationChallenge:完全能够为基本身份验证执行base64编码,但服务器我需要发送一个基本的auth Authorization:header来不返回HTTP401并且(我假设?)不会导致didReceiveAuthenticationChallenge:委托发送消息 - 所以我不能在那里建立凭证。
相反,我正在使用
[urlRequestForMyWorkspace addValue:@“Basic” forHTTPHeaderField:@ “授权”];
在调用initWithRequest之前:
但是 - 我找不到一个在iphone上运行的objective-c api,用于从用户名和pw构建base64编码的凭证(除了写一个例如http://www.cocoadev.com/index.pl?BaseSixtyFour)。
所以 - 这是唯一的方法,还是有其他方式我可以强制使用标准apis发送http基本身份验证凭证 - 如果服务器没有返回401,这就是我' m假设原因didReceiveAuthnChallenge:要发送?
感谢, 理查德
答案 0 :(得分:0)
问题出在您的服务器端代码上,因为它没有返回401 =>永远不会调用didReceiveAuthenticationChallenge: delegate
。所以你被迫这样做(使用标题字段)