在我的 android 应用程序中,我正在迁移到 okhttp,并且需要为默认 cookieStore 中的登录用户手动设置 PHPSESSID,这样他们就不会被注销。我正在使用以下代码手动设置 cookie。
((CookieManager)client.getCookieHandler()).getCookieStore().add(new URI("http://www.example.com"), new HttpCookie("PHPSESSID", getPhpSessionID()));
cookie 似乎已设置,因为我可以使用此代码取回 cookie
((CookieManager)client.getCookieHandler()).getCookieStore().get(new URI("http://www.example.com"));
但是,当我使用执行客户端调用时
Request request = new Request.Builder().url("http://www.example.com/getdata.php").build();
client.newCall(request).execute();
cookie 未在请求中发送(使用 android 代理验证此网络调用)。
设置这样的 cookie 以便 okhttp 客户端使用该 cookie 的正确方法是什么?