最近因为微信小程序【江理小助手】的课表,还没有开学,没有及时更新,就直接去url请求最新的课程,
经过抓包分析(其实就是F12浏览器netWork就可以找到请求了哪些字段)
URL url=new URL("http://218.65.107.173/xskbcx.aspx?xh="+uname+"&xm="+xm+"&gnmkdm=N121603");
WebRequest req = new WebRequest(url);
List listReq = new ArrayList();
listReq.add(new NameValuePair("xnd", xnd));
listReq.add(new NameValuePair("xqd", xqd));
listReq.add(new NameValuePair("__VIEWSTATE", __VIEWSTATE));
listReq.add(new NameValuePair("__EVENTTARGET", "xqd"));
listReq.add(new NameValuePair("__EVENTARGUMENT", ""));
req.setRequestParameters(listReq);
就这些字段就可以了,但是发现一张会进入302跳转
在302跳转之后还是会回到默认的学年和学期的课表,应该是正方的请求出了问题,再研究了一下发现
正方的每次post请求除了需要cookie ivewStatus 还需要Referer
加上请求课表的Referer就可以正常爬取信息了,后期完整的正方教务系统抓取任何信息可以关注一下博客
req.setAdditionalHeader("Referer","http://218.65.107.173/xs_main.aspx?xh="+uname);