使用Python实现自动登陆校园网

Tyrant 2018年12月20日 •  Python 467 •  0

因为最近一直在实验室待着,上外网需要打开浏览器登陆校园网,但是第二天一关机就得重新登陆,我这种懒人实在受不了这种繁琐的步骤,就写了一个自动登陆校园网的Python脚本,下面说一下实现方法和思路:

1.需求分析

其实登陆校园网的过程就是一个POST请求,最近一直在学习相关Python爬虫方面的知识,requests这个库就可以完全实现这个请求,原理已经搞清楚,接下来就开始搞起

2.浏览器分析请求头以及POST请求参数

校园网的登陆地址是:http://210.31.224.243

按下浏览器F12进行分析,需要构造的请求头和传入的参数如下:

    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.9',
    'Cache-Control':'max-age=0',
    'Connection':'keep-alive',
    'Content-Length':'74',
    'Content-Type':'application/x-www-form-urlencoded',
    'Host':'210.31.224.243',
    'Origin':'http://210.31.224.243',
    'Referer':'http://210.31.224.243/0.htm',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'

3.源码

import requests
url = 'http://210.31.224.243'
headers = {
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.9',
    'Cache-Control':'max-age=0',
    'Connection':'keep-alive',
    'Content-Length':'74',
    'Content-Type':'application/x-www-form-urlencoded',
    'Host':'210.31.224.243',
    'Origin':'http://210.31.224.243',
    'Referer':'http://210.31.224.243/0.htm',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
data = {
    'DDDDD':'学号',
    'upass':'密码',
    '0MKKey':'%B5%C7%A1%A1%C2%BC',
    'v6ip':'',
    'save_me':'1'
}
r = requests.post(url,headers=headers,data=data)
print(r.status_code)
200

显示出我们熟悉的200,请求成功!

4.Tips(博主联系方式)

QQ:770925351

Email:770925351@qq.com

Tags:Python
上一篇
打赏
下一篇

添加新评论