Open gkzhb opened 6 years ago
不是特别清楚,你能贴出来你mainactivity.java的代码吗?
execution 的数据两个都试一试看能不能都进去?
mainactivity.java代码在code里目录CampusApp/app/src/main/java/educn/fudan/zhb/helloworld/下
execution 输入这个值似乎是有用 我就是不大清楚这个值等等差别到底是代表什么意思
还有,我到现在都没弄清楚okhttp自动收集cookie信息,我们如何访问存储的cookie信息,在get/post里似乎要我们手动加cookie信息"jsessionid"到链接里
抓包相关的教程推荐大家看下这个网站吧 抓包工具的使用以及使用HttpClient模拟用户登录的访问
居然在网站代码里找到了
意思是网页源代码里面的数据是要传的吗
现在登录可以进去了,不过发现获取课表还有些问题
左侧是 app 发送的请求,返回的是服务器错误,右侧是网站访问的。
我觉得是 cookie
中缺少参数导致的服务器错误。
OkHttp 我在 这里 找到了包装的方式,我自己改了改,不过看样子还要加些修改 cookie 的方法进去。
网页登录的时候cookie值有三个参数semester.id; JESSIONID; iPlanetDirectoryPro;所以我们应该找全这三个参数对吗? 第二个问题是:每个人的cookie值是不同的吗? 包装是封装的意思吗,代码风格优化?
semester.id好像都是264,你的图片中 iPlanetDirectoryPro的值和我刚才登进去发现的值是一样的AQIC5wM2LY4SfczY3nMUt0G2YcGXhFpQgbYpeTB4hiRR1%2FM%3D%40AAJTSQACMDI%3D%23
semester.id 似乎有待研究,比如如果更换学期可能就不一样了 iPlanetDirectoryPro 和 JESSIONID 都在登陆以后服务器传来的包中的 cookie 中提供了,所以只要引用就好了
里面的jsessionid在最开始几次服务器传输的cookie信息中出现了 但是execution的数据有时候是e1s1 ,有时候又是e2s1 还有lt中的数据也没有找到