我正在开发一款需要从我们基于iis的网站下载网页的应用。如果我登录到我的iPad上的无线连接域,我连接的站点似乎使用该登录名作为我的凭据。但是,如果我没有连接到域,或者我作为无法访问该页面的用户连接,则会触发didReceiveAuthenticationChallenge
,否则不会。NSError *error = nil;
// assign the cmh url from user prefs
NSURL *url = [NSURL URLWithString:cmhUrl];
// Put that URL into an NSURLRequest
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[req setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
// Create a connection that will exchange this request for data from the URL
connection = [[NSURLConnection alloc] initWithRequest:req
delegate:self
startImmediately:YES];
。如果我使用Safari连接到同一页面,它会要求进行身份验证。我希望每次都能让应用程序进行身份验证。任何帮助将不胜感激。
请求页面的代码:
{{1}}
答案 0 :(得分:0)
在Safari中进行身份验证时,auth-token会保存在NSHTTPCookieStorage中。当您从代码中提出请求时,存储中的所有Cookie都会添加到标头中,因此无需再次请求令牌。
在提出请求之前,请尝试清除存储空间:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in cookieStorage.cookies) {
[cookieStorage deleteCookie:cookie];
}
希望这有帮助。