IOException:"認証を受けた挑戦がnullの場合"(Apacheとの調和/Android)
-
20-09-2019 - |
質問
って送付くよAndroidの HttpURLConnection
から輸入 org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection
)を受け、対応、 IOException がスローされます:
にdoRequestInternal():"認証を受けた挑戦がnullの場合"
このエラーを意味し、何が希薄化の原因なのでしょうか?皆様にお伝えしたくて書き込みOAuthパラメータを認証ヘッダが、これ以外の場合でも、問題なく行えます。
if (connection == null) {
connection = (HttpURLConnection) new URL(endpointUrl).openConnection();
connection.setRequestMethod("GET");
}
//... do some OAuth message signing
connection.connect();
int statusCode = connection.getResponseCode(); // throws IOException
解決
その理由です。
まず、すべての人のなかこのエラーを意思を確認させていただいた上でだん):この例外がスローされる場合のサーバーの回答を401.非常に直感的で、これにgetResponseCode()においてo。w.決してないのでチェック401s自分がしていくことではなくIOException...).
実際の原因に401たと思送OAuthによる検証コードが期待していました。
他のヒント
も役立つのか。
この例外で不正な手段で解答ヘッダ:の"WWW-認証"ヘッダは見つかりませんでした。また、チャンク答401コードをサポートしない必要になります"Content-Lengthヘッダー(きします。
だけで追加するヘッダをサーバ側:
WWW-Authenticate: None
がありますので注意してください二つの認証方法: HTTP認証 や トークンに基づく認証.ご利用の場合はHTTP認証をとっていない参照される仕様:など WWW-認証 ヘッダフィールド、サーバ側で利用 java.net.Authenticator
地等ご利用の場合トークンを認証してもちろんのクッキー(cookie)を使用し、トークンのときの長寿命のセッション。この場合は、次のコードを android.app.Application.onCreate()
CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);
とんトラブル受信時のHTTP401サーバーからな WWW-認証 ヘッダフィールド