2009-02-26 9 views
3

iPhone SDKでは、.htaccessまたはアクセス制御で保護されているパスワードで保護されたサイトにプログラムでアクセスできますか。iPhone SDKでは、どのようにユーザー名/パスワードを安全なサイトにプログラムで渡しますか

NSURLRequestを使用すると、URLからGETリクエストを作成できます。しかし、URLが保護されている場合、どのようにユーザー名パスワードのペアを送信しますか。また、標準のMD5暗号化で暗号化されている場合はどうなりますか?

答えて

8

あなたHTTPConnectionDelegateにこのようなものを追加します。

-(void)connection:(NSURLConnection *)aConnection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { 
     if ([challenge previousFailureCount] == 0) { 
       NSURLCredential *newCredential; 
       newCredential = [NSURLCredential credentialWithUser:username password:password persistence:NSURLCredentialPersistenceNone]; 
       [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge]; 
     } else { 
       [[challenge sender] cancelAuthenticationChallenge:challenge]; 
     } 
} 
+0

Thanks..Isこれはクリアテキストとして渡されましたか?一部のWebサーバーはクリアテキストのパスワードを拒否します。 –

+0

ドキュメントは明確ではありませんが、サーバーが要求した認証方法を使用していると推測する必要があります。これがbasic-authの場合、(接続がSSLでない限り)暗号化されません。ダイジェスト認証の場合は、md5一方向ハッシュ方式を使用します。 –

関連する問題