0

私はここSOでいくつかの同様の質問を見ましたが、最近はありません-それで私は何かが変更されたかどうかを確認するためにチェックインしています。

didReceiveAuthenticationChallenge:は基本認証用にbase64エンコードを完全に実行できることがわかりますが、基本認証Authorization:ヘッダーを送信する必要があるサーバーはHTTP401を返さず、(私は推測しますか?)didReceiveAuthenticationChallenge:を引き起こしません送信するメッセージを委任する-そのため、そこにクレデンシャルを作成することはできません。

代わりに、私は使用しています

[urlRequestForMyWorkspace addValue:@ "Basic" forHTTPHeaderField:@ "Authorization"];

initWithRequestを呼び出す前に:

しかし、-ユーザー名とpwからbase64でエンコードされたクレデンシャルを構築するためにiPhoneで動作するObjective-C APIが見つかりません( http://www.cocoadev.com/index.pl?BaseSixtyFourなどを記述する以外) 。

つまり、これが唯一の方法です。または、サーバーが401を返さない場合は、http基本認証クレデンシャルを強制的に送信することができます。これはdidReceiveAuthnChallengeの原因であると想定しています。送信されますか?

ありがとう、リチャード

4

1 に答える 1

0

問題はサーバー側のコードにあります。401 が返されないためです =>didReceiveAuthenticationChallenge: delegateは呼び出されません。したがって、この方法で行う必要があります(ヘッダーフィールドを使用)

于 2010-08-26T01:26:33.557 に答える