UIWebViewでBASIC認証のページを見る時
UIWebViewでアクセスURLやアクセス先のLINK内にBasic認証がかかっているとページの読み込み中になりっぱなしで画面が真っ白いままになってしまいます。
http://user:[email protected]/みたいな形で、暫定対応はできますが、
アクセス先ページ内のLINKが認証かかっていたら、同じ結果です。
BASIC認証先のID/PWが解っている場合は、NSURLCredentialを使って、あらかじめ登録しておく事で対応できます。
ただID/PASSWORDだけでなく、realmまで知っておく必要があります。
realmは HTTP Response HeaderのAuthenticate: Basicの項目で確認できます。
Access to basic authorization page by UIWebview.
The page content is empty and continues loading accessing to page protected by Basic Auth with UIWebview.
If you know the ID/Password on that page, using NSURLCredential and solute this problem.
this code.
To know realm seeing HTTP Response Header 'Authenticate: Basic realm="realm"'
NSURLCredentialStorage *storage = [NSURLCredentialStorage sharedCredentialStorage]; NSURLCredential *credential = [NSURLCredential credentialWithUser:@"USER" password:@"PASSWORD" persistence:NSURLCredentialPersistenceForSession]; NSURLProtectionSpace *protectionSpace = [[NSURLProtectionSpace alloc] initWithHost:@"www.domain.com" port:80 protocol:@"http" realm:@"Authorization required" authenticationMethod:NSURLAuthenticationMethodHTTPBasic]; [storage setCredential:credential forProtectionSpace:protectionSpace];