【50分】OKHttp session cookies问题

BlankShrimp 2018-02-14 10:47:06
我明明已经将获得的JsessionID添加到cookie头里面了,为什么服务端还提醒我"You must enable session cookies to use this secure system"? 是我哪里忽略了吗。下面贴上代码


OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.addHeader("Connection", "keep-alive")
.url("https://ebridge.xjtlu.edu.cn/urd/sits.urd/run/siw_lgn")
.build();

Response response = client.newCall(request).execute();
String result = response.body().string();
Headers headers = response.headers();
List<String> cookies = headers.values("Set-Cookie");
String session = cookies.get(0);
session = session.substring(0, session.indexOf(";"));

Document parse = Jsoup.parse(result);
DUMMY = parse.select("input[name=%.DUMMY.MENSYS.1]").get(0).attr("value");
RUNTIME = parse.select("input[name=RUNTIME.DUMMY.MENSYS.1]").get(0).attr("value");


OkHttpClient client2 = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.add("SCREEN_WIDTH.DUMMY.MENSYS.1", "")
.add("SCREEN_HEIGHT.DUMMY.MENSYS.1", "")
.add("%.DUMMY.MENSYS.1", DUMMY)
.add("RUNTIME.DUMMY.MENSYS.1", RUNTIME)
.add("PARS.DUMMY.MENSYS.1", "")
.add("MUA_CODE.DUMMY.MENSYS.1", account)
.add("PASSWORD.DUMMY.MENSYS.1", password)
.add("BP101.DUMMY_B.MENSYS.1", "Log in")
.build();

Request login = new Request.Builder()
.addHeader("cookies", session)
.addHeader("cookies", "EVISIONID_TEST=COOKIE_TEST")
.addHeader("cookies", "EVISIONLOGINHTV=")
.addHeader("cookies", "EVISIONLOGINLANG=")
.url("https://ebridge.xjtlu.edu.cn/urd/sits.urd/run/SIW_LGN")
.post(formBody)
.build();

Response execute = client2.newCall(login).execute();
...全文
2076 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
儿大不由爷 2018-02-28
  • 打赏
  • 举报
回复
.addHeader("cookies", session)                             .addHeader("cookies", "EVISIONID_TEST=COOKIE_TEST")                             .addHeader("cookies", "EVISIONLOGINHTV=")                             .addHeader("cookies", "EVISIONLOGINLANG=") 这个写法是不是只有最有一个有效?其他的都不覆盖了。抓一下包看看
BlankShrimp 2018-02-17
  • 打赏
  • 举报
回复
我在这里详细描述一下问题。网站的Cache Control是no-store, no-cache, must-revalidate的,有两个随机码%.DUMMY.MENSYS.1和RUNTIME.DUMMY.MENSYS.1我都获取到了,我也获取到了服务器发来的JsessionCode。现在的问题是我怎么样尝试登录服务器都提示我需要启用session 和 cookie。是我哪里没注意吗
cattpon 2018-02-16
  • 打赏
  • 举报
回复
呃啊~没人回复啊~
qq_41740177 2018-02-16
  • 打赏
  • 举报
回复
新年快乐,大吉大利
BlankShrimp 2018-02-16
  • 打赏
  • 举报
回复
引用 2 楼 cattpon 的回复:
呃啊~没人回复啊~
是啊很难受了
BlankShrimp 2018-02-14
  • 打赏
  • 举报
回复
谢谢各位大神了!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧