前一篇完成了登陆部分登陆部分链接
这一篇就讲成绩查询
先上效果图:

登陆成后网页后,点击成绩查询页面,截下网络请求。如图:
gnmkdm=N121605 是固定的,__VIEWSTATE这个值是每次都变得所以要在get请求的代码如下
Request request = new Request.Builder().url(loginScoreUrl)
.addHeader("Host", Constant.HOST)
.addHeader("Referer", Constant.GET_LOGIN_URL+studentID)
.addHeader("Cookie", Constant.sCookie).build();
OkHttpClient okHttpClient = new OkHttpClient().newBuilder().cookieJar(mCookieJar).build();
okHttpClient.newCall(request).enqueue(new Callback() {
//获取__VIEWSTATE的值
String html = Objects.requireNonNull(response.body()).string();
String viewstate = Jsoup.parse(html).select("input[name=__VIEWSTATE]").val();
//传参数查成绩
scoreSearch(xm, loginScoreUrl, viewstate);
});
__VIEWSTATE获取到以后就是,请求成绩了


ArrayList<String> arrayList = new ArrayList<>();
String s = Objects.requireNonNull(response.body()).string();
//jsoup解析html
Document parse = Jsoup.parse(s);
Elements alt = parse.getElementsByClass("datelist");
Elements trs = alt.tagName("tr");
for (Element tr : trs) {
Elements tds = tr.getElementsByTag("td");
for (Element td : tds) {
arrayList.add(td.text());
}
}
......//从arrayList拿出你想要的数据,封装到List<JavaBean>里面,再把List<JavaBean>数据给RecyclerView就O了