0

私は、iis ベースの Web サイトから Web ページをダウンロードする必要があるアプリに取り組んでいます。iPad でワイヤレス接続用のドメインにログインしている場合、接続先のサイトは資格情報にそのログインを使用しているようです。ただし、ドメインに接続していない場合、またはページにアクセスできないユーザーとして接続している場合はdidReceiveAuthenticationChallenge、. Safari を使用して同じページに接続すると、関係なく認証が求められます。アプリが毎回認証されることを望んでいます。どんな助けでも大歓迎です。

ページをリクエストするコード:

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];
4

1 に答える 1

0

Safari で認証すると、auth-token が NSHTTPCookieStorage に保存されるようです。また、コードからリクエストを行うと、ストレージからのすべての Cookie がヘッダーに追加されるため、再度トークンを要求する必要はありません。
リクエストを行う前に、ストレージをクリアしてみてください。

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in cookieStorage.cookies) {
    [cookieStorage deleteCookie:cookie];
}

お役に立てれば。

于 2012-10-31T11:39:19.923 に答える