python 脚本自动登陆校园网

内容预览:
  • 学校的校园网每次重开电脑时都要重新打开浏览器进行网页登录,繁琐的操...~
  • 我来详细的说下怎么来获得登录的请求头和登录数据~
  •  ~

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

1. 方法说明

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

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

 

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

 

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

 1 '''

2 南京大学校园网自动登录脚本
3 @author: zutterhao
4 @parameter: post_addr: 南大校园网登陆地址
5 post_header:浏览器登陆校园网的post请求
6 post_data: 登陆的用户名和密码
7 @date:2018年5月8日
8 '''
9
10 import requests
11 #登陆地址
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文件创建一个桌面快捷方式,改一下图标就可以啦:

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

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

 

以上就是:python 脚本自动登陆校园网 的全部内容。

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢。
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论