我明明已经将获得的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();
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();
解决方案 »
- 用httpclient的post发出请求后 返回bad request
- Fragment的创建方式,怎么设置用Activity去控制呢?难道把Fragment当做Activity来用吗?
- 请教如何从内存卡中读取图片?
- android 下能否自定义ViewPager的动画类型和时间?
- android SQLiteDatabase打开数据库文件后文件被删除--求真相
- 新手安装问题
- 如何实现按menu键,弹出顶部+底部菜单(类似于qq阅读器菜单效果)
- 关于android 手势的问题
- Android 服务器的消息推送(即时消息)是怎么实现的?
- 跪求大神 拯救小白 帮我看看这个是个什么鬼 这丫是简单的Fragment 应用却闪退
- greendao不退出应用的情况下切换数据库
- 新手想做一个登录界面,账号密码存入服务器。苦于没有C币参考不了别人的代码
.addHeader("cookies", "EVISIONID_TEST=COOKIE_TEST")
.addHeader("cookies", "EVISIONLOGINHTV=")
.addHeader("cookies", "EVISIONLOGINLANG=") 这个写法是不是只有最有一个有效?其他的都不覆盖了。抓一下包看看