学校的校园网每次重开电脑时都要重新打开浏览器进行网页登录,繁琐的操作比较麻烦,于是便写了个python的脚本进行自动登录,下面说下具体的操作过程:

1. 方法说明

博主采用的python的 requests库,发送post请求给登录网页,主要包括请求头和登录数据,由于校园网设计的比较简单,没有验证码什么的,操作起来就比较简单。我来详细的说下怎么来获得登录的请求头和登录数据。首先贴一下学校的校园网登录界面:

浏览器采用的是firefox,右键查看元素,查看网络,然后手动登录一次会看到相应的登录过程如下:

这里会看到我登录过程给网页发送的post请求,然后查看相应的请求头(不是响应头)和登录参数:

有了这两个部分,下面就可以写程序来登陆啦,具体的代码如下:

1 '''

2 南京大学校园网自动登录脚本3 @author: zutterhao4 @parameter: post_addr: 南大校园网登陆地址5 post_header:浏览器登陆校园网的post请求6 post_data: 登陆的用户名和密码7 @date:2018年5月8日8 '''

9

10 importrequests11 #登陆地址

12 post_addr = "http://p.nju.edu.cn/portal_io/login"

13 #构造头部信息

14 post_header ={15 'Accept': 'application/json, text/javascript, */*; q=0.01',16 'Accept-Encoding':'gzip, deflate',17 'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',18 'Connection':'keep-alive',19 'Content-Length':'39',20 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',21 'Host':'p.nju.edu.cn',22 'Referer':'http://p.nju.edu.cn/portal/index.html?v=201606170633',23 'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0',24 'X-Requested-With':'XMLHttpRequest'

25 }26 #构造登录数据

27 post_data ={28 'password': '********',29 'username': '********'

30 }31 #发送post请求登录网页

32 z = requests.post(post_addr,data=post_data,headers =post_header)33 print("登录完成!")

本来准备将py文件转换为exe文件,但是觉得用.bat批处理更加方便,在py文件目录下建立一个.bat文件:

1 cd .\autologin\2 python .\login.py

然后将.bat文件创建一个桌面快捷方式,改一下图标就可以啦:

这样,以后只要双击就可以进行自动登录了:)

不过本方法还是有很多不足之处:第一只能支持本电脑的指定浏览器,如果换了一个电脑和浏览器就不能工作;另一个就是没有异常处理,不能返回登录失败的情况下的信息,后续改进的版本会优化下这些问题,目前使用来看还挺不错哈哈。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐