1
ネットにいくつかのコードスニペットがすでにあります。どのように表示されるのですか?はになるはずです。 たとえば、thisです。retrofit 2.0.1 cookieヘッダーを追加しても機能しない
私のコードは機能しません。また、Cookieヘッダーを動的に送信するバージョンも探しています(特定のリクエストのみで、ログインには必要ありません)。
だから私のコード:
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(logging);
// header
// httpClient.addInterceptor(chain -> cookie != null ? chain.proceed(chain.request().newBuilder().addHeader("Set-Cookie", cookie).build()) : chain.proceed(chain.request()));
httpClient.addInterceptor(chain -> chain.proceed(chain.request().newBuilder().addheader("Cookie", cookie).build()));
Retrofit retrofit = new Retrofit.Builder().baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
私は私のログにこのヘッダーが届きません!
--> POST [link] http/1.1
Content-Type: application/json; charset=UTF-8
Content-Length: 125
{// response object
私のリクエスト自体は改造ベースです。パラメータとのインタフェースだけです...私は多分何かを変えることができますが、私はこのエラーを修正すべきではありません。
誰かアイデアはありますか? どうすれば動的にすることができますか?コメント行?
私はこの改訂版でパラメータとして@Header
Annotationをサポートしています。サポートのキャンセル?改造2.1で
正常に動作し、あなたのクッキーの値が空/ nullでないことを確認することができますか? –
はい;そうであれば、これはヘッダーがない理由ですか? |最初のリクエストでは空ですが、2番目のリクエストではありません(最初のリクエストを待っています) – rala
空であれば、ロギングインターセプタの出力に表示されるはずです。 Nullは例外を引き起こします。最初のリクエストでそれが設定されることを期待していますか? –