Sof*_*igy 3 iphone objective-c nsurlconnection
我正在使用连接到服务器NSURLConnection.服务器要求我使用委托方法的基本身份验证: - didReceiveAuthenticationChallenge.但这只被召唤一次.如果我将密码更改为某个不同的值,则此delegate方法不会被调用,并且我的登录成功了吗?
任何形式的帮助将不胜感激.
谢谢.
解决了!
事实证明,这NSURLConnection实际上是正确的行为 - 也就是说,didReceiveAuthenticationChallenge:每个身份验证挑战都会被调用.
问题是服务器在第一个之后没有发送挑战.原来这是因为服务器正在设置cookie.
您只需删除cookie即可强制执行新的挑战.因为此服务器没有其他有用的cookie,所以我只删除所有这些:
- (void)clearCookiesForURL {
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookies = [cookieStorage cookiesForURL:_URL];
for (NSHTTPCookie *cookie in cookies) {
NSLog(@"Deleting cookie for domain: %@", [cookie domain]);
[cookieStorage deleteCookie:cookie];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4597 次 |
| 最近记录: |