1

私のiPhoneアプリでは、承認が必要なサーバーからiPhoneに画像を表示しようとしています。NSURLConnection を使用して画像を取得しようとしていますが、ユーザーの資格情報を求められません。つまり、didReceiveAuthenticationChallenge メソッドにはまったく行きません。誰でもこの問題で私を助けることができますか?

4

2 に答える 2

6

次のように、必要な Authorization ヘッダーを自分で計算し、NSURLConnection を作成する前に発信 NSURLRequest に手動で適用できます。

NSMutableURLRequest *someURLReq = ...
NSString *auth = ...
[someURLReq setValue:auth forHTTPHeaderField:@"Authorization"];

Dave Dribin の base64 NSData カテゴリauthを使用した HTTP 基本認証の場合のコンテンツは次のようになります。

NSString *username = ...
NSString *password = ...
NSString *combo = [NSString stringWithFormat:@"%@:%@", username, password];
NSData *comboData = [NSData dataWithBytes:[combo UTF8String] length:combo.length];
NSString *auth = [NSString stringWithFormat:@"Basic %@", [comboData encodeBase64]];

これは暗号化ではないことに注意してください。パスワードは、実用上はすべてプレーン テキストであり、SSL 接続を使用していない限り盗聴されます。

于 2009-04-19T22:30:32.100 に答える
0

コードを投稿していないので、わかりにくいです。NSURLConnection でデリゲート メンバーが適切に設定されていることを再確認します。それが問題でない場合は、HTTP デバッガーを使用してみて、URL が実際に認証要求をトリガーしていることを確認してください。

于 2009-04-17T21:35:24.030 に答える