小编Udb*_*hav的帖子

在默认cookiestore中手动设置cookie并在okhttp请求中使用它

在我的Android应用程序中,我正在迁移到okhttp并需要为默认cookieStore中的登录用户手动设置PHPSESSID,以便它们不会被注销.我使用以下代码手动设置cookie.

((CookieManager)client.getCookieHandler()).getCookieStore().add(new URI("http://www.example.com"), new HttpCookie("PHPSESSID", getPhpSessionID()));
Run Code Online (Sandbox Code Playgroud)

cookie似乎已设置,因为我可以使用此代码恢复cookie

((CookieManager)client.getCookieHandler()).getCookieStore().get(new URI("http://www.example.com"));
Run Code Online (Sandbox Code Playgroud)

但是,当我使用执行客户端调用时

Request request = new Request.Builder().url("http://www.example.com/getdata.php").build(); 
client.newCall(request).execute();
Run Code Online (Sandbox Code Playgroud)

cookie未在请求中发送(使用android代理验证此网络调用).

什么是设置这样一个cookie的正确方法,以便okhttp客户端使用该cookie?

cookies android cookiemanager okhttp

5
推荐指数
1
解决办法
5440
查看次数

标签 统计

android ×1

cookiemanager ×1

cookies ×1

okhttp ×1