登录校园网脚本

前段时间浏览器出问题了,等不上校网,分析了一下校网登录过程,写了一个登录脚本。

首先分析一下登录信息,主要的内容如下图:
denglu
登录的链接为

1
http://1.1.1.1:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=1.1.1.1&iTermType=1&wlanuserip=10.133.82.103&wlanacip=null&wlanacname=null&mac=00-00-00-00-00-00&ip=10.133.82.103&enAdvert=0&queryACIP=0&loginMethod=1

其中wlanuserip和ip是相同的,这个是连上校网之后的分配的ip,查看自己的网络信息就能看到。其余的为默认值
表单里的数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DDDDD: ,0,201508030329@cmcc
upass: 190834
R1: 0
R2: 0
R3: 0
R6: 0
para: 00
0MKKey: 123456
buttonClicked:
redirect_url:
err_flag:
username:
password:
user:
cmd:
Login:

DDDD为帐号拼接起来的信息,其中@后边的信息为运营商的信息。移动的为cmcc、联通的为unicom、电信的为telecom、校园单宽为founder 校园内网为free
upass为密码,其余的都是默认值。
请求头里的cookie值

1
2
3
4
5
6
7
program=NEW; 
vlan=0;
ip=10.133.82.103;
ssid=null;
areaID=null;
ISP_select=@cmcc;
md5_login2=%2C0%2C201508030329@cmcc%7C190834

其中主要为ip、ISP_select、md5_login2,其余的都是默认值。

  • ip和链接上的ip相同
  • ISP_select为运营商
  • md5_login2中%2C0%2C为固定值,紧接帐号、运营商、%7C为固定值、密码。

脚本代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# -*- coding: utf-8 -*-
import urllib
import urllib2

url = 'http://1.1.1.1:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=1.1.1.1&iTermType=1&wlanuserip=10.133.82.103&wlanacip=null&mac=00-00-00-00-00-00&ip=10.133.82.103&enAdvert=0&queryACIP=0&loginMethod=1'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'
values = {
'DDDDD' : ',0,201508030329@cmcc',
'upass' : '190834',
'R1':'0',
'R2':'0',
'R3':'0',
'R6':'0',
'para':'00',
'0MKKey':'123456'
}
headers = { 'User-Agent' : user_agent,
'Cookie':'program=NEW; vlan=0; ip=10.133.82.103; ssid=null; areaID=null; ISP_select=@cmcc; md5_login2=%2C0%2C201508030329@cmcc%7C190834'
}
data = urllib.urlencode(values)
request = urllib2.Request(url, data ,headers)
response = urllib2.urlopen(request)
page = response.read()
print page

-------------本文结束感谢您的阅读-------------