Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用willSendRequestForAuthenticationChallenge时如何处理401错误?_Ios_Objective C_Xcode_Authentication_Nsurlconnection - Fatal编程技术网

Ios 使用willSendRequestForAuthenticationChallenge时如何处理401错误?

Ios 使用willSendRequestForAuthenticationChallenge时如何处理401错误?,ios,objective-c,xcode,authentication,nsurlconnection,Ios,Objective C,Xcode,Authentication,Nsurlconnection,我使用苹果公司的首选方法,通过willSendRequestForAuthenticationChallenge通过NSURLConnection处理NTLM身份验证挑战。我试图确定如何处理挑战基本上失败的情况,例如用户的密码已更改,或者这是用户首次从其设备发出web服务请求,现在应用程序需要处理获取新密码并重试URL请求 但是,我被卡住了 这就是我要做的。在进行一些基本测试时,我首先清除了凭证存储,这样我就可以假装这是用户第一次向需要验证的URL发出请求。我使用[challenge Perfo

我使用苹果公司的首选方法,通过willSendRequestForAuthenticationChallenge通过NSURLConnection处理NTLM身份验证挑战。我试图确定如何处理挑战基本上失败的情况,例如用户的密码已更改,或者这是用户首次从其设备发出web服务请求,现在应用程序需要处理获取新密码并重试URL请求

但是,我被卡住了

这就是我要做的。在进行一些基本测试时,我首先清除了凭证存储,这样我就可以假装这是用户第一次向需要验证的URL发出请求。我使用[challenge PerformDefaultHandling for AuthenticationChallenge]调用该函数,由于存储中还没有凭据,我预计该函数会以某种方式失败。好吧,我意外地在didReceiveData中得到了一个响应,它在HTML响应字符串中隐藏了401身份验证错误;然而,它伪装成从我的URL web服务请求接收的数据。如果我再打一次电话并观察[challenge previousFailureCount],它仍然是0,我想我知道原因;我仍然没有任何凭据保存在凭据存储中

如何正确处理401错误而不必解析响应数据?我想,NSURLConnection会自动识别401,并允许我以某种方式查看它