問題タブ [okhttp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
33473 参照

java - 例外を後付けするための応答本文を取得する方法は?

Android アプリケーションのレトロフィットを介してレスト サービスに接続しようとしています。私は応答を得ています。しかし、サービスからのエラー応答があると、変換例外が発生し、応答本文に基づいていくつかのアクションを実行したいと考えています。しかし、応答本文をNULLとして取得しています。しかし、改造ログにはエラーメッセージがあります。なぜこうなった。

コード:

ここで私は として取得tokenErrorしていnullます。どうしてか分かりません?応答がレトロフィット エラー オブジェクトに渡されるように、残りのアダプタで何かを設定する必要がありますか。

0 投票する
1 に答える
1683 参照

android - Retrofit: 失敗した場合、ステータス コードは null ポインターを返します。

バックエンド通信に Retrofit を使用しています。ステータス コードが 200 でない場合は、コールバック呼び出しの失敗メソッドです。しかし、さらにコードを調整するために、失敗メソッド内のステータス コードを取得したい

ただし、上記のコードでは常に null ポインター例外が発生します。失敗時にヘッダーのステータス コードを取得するにはどうすればよいですか。

助けてください。

前もって感謝します。

0 投票する
9 に答える
95045 参照

java - OkHttp は自己署名 SSL 証明書の受け入れをサポートしていますか?

私は、自己署名 SSL 証明書を備えたサーバーを持っている顧客のために働いています。

ラップされた OkHttp クライアントを使用して Retrofit + CustomClient を使用しています。

OkHttp はデフォルトで自己署名 SSL 証明書サーバーの呼び出しをサポートしていますか?

ところで。デフォルトで Retrofit を使用しているのはどのクライアントですか? OkHttpだと思っていましたが、もう少し調べてみると、OkHttpの依存関係をインポートする必要があることに気付きました

0 投票する
1 に答える
7199 参照

android - ヘッダーのステータス コードが 200 の場合でも、Retrofit が failure() メソッドを呼び出す

バックエンド通信にレトロフィットを使用しており、その下にレトロフィット コールのスニペットがあります。

上記のコードは、これを Logcat に出力します。

これは誰が可能ですか?

なぜこれが起こっているのか、誰でも助けてください。

また、設定setLogLevel(RestAdapter.LogLevel.FULL);したので、logcat のすべての値を確認できます。サーバーからの応答は正しいのに、failure()が呼び出されるのはなぜですか?

助けてください!

前もって感謝します。

0 投票する
1 に答える
2515 参照

android - Android Retrofit のキャッシュの問題

Retrofit でキャッシングをうまく動かそうとしていますが、何が間違っているのかよくわかりません。

使用:

build.gradle

呼び出しの例

API の構築

呼び出しは機能します。唯一の問題は、実際にキャッシュすることです...キャッシュされたものがあるかどうかを確認するために呼び出しを行った後、cache.getHitCount() に対してチェックしていますが、常に 0 になります。

0 投票する
0 に答える
325 参照

android - Web サーバー UrlConnection からファイルをダウンロード中にエラーが発生しました

LGE G2 デバイスの UrlConnection クラスに問題があります。どういうわけか同じコードが他のデバイスで動作しています。また、URLを別のものに変更すると、DLが動いているようです。そのため、問題はサーバー側にある可能性があります。

4.4.2 android を搭載した Galaxy SIV で同じ URL へのコードもテストしましたが、すべて正常に動作しているようです。

また、任意の Web ブラウザを使用して同じ URL からファイルをダウンロードできます...

これはスタック トレースです。

コード:

UrlConnection の標準的な使い方です。HttpUrlConnection または HttpsUrlConnection を使用する場合も同様です。そして、私が言ったように、このエラーは LGE G2 でのみ発生します。Nexus 4、Xperia Z1、Galaxy SIV でテストしたところ、すべて正常に動作しました。BR、JDK

0 投票する
1 に答える
839 参照

android - Android : ワイヤレス アクセス ポイントのセッション タイムアウトと HostnameValidation エラー

ネットワークにアクセスするために安全なログインが必要なワイヤレス アクセス ポイントを備えた企業ネットワーク上にいる状況に直面しています。約 30 分のアイドル時間の後、ユーザーに再認証を求めるプロンプトが表示されます。

私のアプリ (レトロフィット + okhttp を使用) では、「セッションがタイムアウトしました」が「java.io.IOException: ホスト名 'example.com' が検証されませんでした」という例外として現れます。詳しく調べてみると、「example.com」がワイヤレス アクセス ポイントの証明書に対して検証されており、証明書に関連付けられている唯一の有効なドメインはアクセス ポイントのドメイン (securelogin.arubanetworks.com) であることがわかります。これが例外をトリガーしているものです。アプリを離れてブラウザーを起動し、アクセス ポイントで再認証してアプリに戻ると、同じホスト名が検証されていないという問題が引き続き発生します。これにより、2 つの質問が残ります。

1) IOException を待って処理する以外に、このタイムアウト状況を検出するより良い方法はありますか?

2) セッションがタイムアウトすると、http クライアントがアクセス ポイントの証明書に対してホスト名を検証しようとするのをやめさせることができないようです。アプリを再起動せずに、ユーザーが (ブラウザ経由で) 再認証されたら回復する方法はありますか?

0 投票する
8 に答える
39726 参照

java - ネットワークリクエストを行うためのAndroidのOkHttp

私がやろうとしていること::

Androidでネットワーク呼び出しを行うためのOkhttpの使用法を学ぼうとしています


私がやったこと::

  • ここで彼らのドキュメントを読みました
  • プロジェクトにJARをダウンロードして追加しました
  • ここからサンプルコードを使用しています

マイコード::

MainActivity.java


私が直面しているエラー::

Response response = client.execute(request); で次のようなエラーが発生しています:

クライアントは変数に解決できません

これを解決する方法!


{アップデート}

今、私は次のようなエラーに直面しています:

として行Response response = client.execute(request);The method execute(Request) is undefined for the type OkHttpClient