dr.com API
因为学校用的是dr.com的宽认证, 而他们的登陆客户端做的连网页登陆都不好 , 为了一个记住密码的功能,决定自己写一个QUST的客户端,抓包分析后的AIP如下
1. 用户登录
其中PID=”1”,CALG = “12345678”
URL:http://172.16.10.3/
Method:POST
Params:
DDDDD=用户名
&upass="+(MD5Util.MD5(PID+密码+CALG)+CALG+PID)
&R1=0
&R2=1
¶=00
&0MKKey=123456"
2. 用户退出
URL:http://172.16.10.3/F.htm
Method:GET
判断是否退出成功:如果返回的Html内容包含”Msg=14”则退出成功
3. 获取流量信息
URL:http://172.16.10.3/
Method:GET
这里需要解析页面的JS的内容所以无法用JSoup什么的来解析. 我用的方法比较傻,直接分割获取了
代码段如下
String[] split = result.split("'");
//计算流量
try {
FLUX_KB = Integer.parseInt(split[3].trim());
}catch (Exception e){
FLUX_KB= 0;
}
FLUX_MB = FLUX_KB/1024;
int FLUX_GB = FLUX_MB/1024;
FLUX_Result = FLUX_GB+"G "+(FLUX_MB-FLUX_GB*1024)+"MB "+(FLUX_KB-FLUX_MB*1024)+"KB";
// 计算时间
try {
TIME = Integer.parseInt(split[1].trim());
}catch (Exception e){
TIME= 0;
}
int h = TIME/60 ;
int d = h/24;
TIME_Result =d+"天 "+ (h - d*24)+"小时 "+(TIME - h*60)+"分钟";
最后写了个App如下