前言今天这篇文章的思路来源于校园网。很多校园网每次连接都需要输入网址登录。这一步真的很麻烦(大学生都懂~)。那么这次就教大家如何一键登录校园网。一键登录校园网首先,我们来看一下整个过程。首先,您需要连接到网络。连接后会被重定向到一个URL,就是校园网登录的URL。然后输入账号密码登录。我们需要实现的效果是点击一个可执行文件,然后实现校园网的自动登录。(这里的可执行文件在mac是excu文件,在win是exe)我们先解决如何通过Python登录,再解决打包的问题。其实对于Python登录,懂爬虫的朋友应该很快就知道,表单的提交可以直接通过requests来完成。首先我们抓包获取校园网登录提交表单的地址:同时我们也获取到需要提交的表单格式。部分学校校园网可能需要通过验证码验证。一般不会有复杂的验证方式。如果需要验证,那么需要破解验证码,https://github.com/hellokuls/cnnyzm。下面是我之前写的验证码破解案例。拿到之后就好办了,直接邮寄提交就可以了。这里我给出我写的代码。基本逻辑是相似的。您只需要更改您学校的相关信息即可。#encoding:utf-8importrequests#检查是否连接校园网defcheckinternet():url='xxxxxxxxxxxxxxxxxxxxxxxxxxx'#校园网登录地址,用于测试是否连接校园网try:code=requests.get(url,timeout=5).status_codeifcode!=200:print('无网络~')return0elifcode==200:return1else:return2except:return2deflogin(username,password):url='xxxxxxxxxxxxxxxxxxxx'#校园网表单提交urlpostdata={'action':'login','ac_id':1,'user_ip':'','nas_ip':'','user_mac':'','username':用户名,'password':密码,'save_me':'0','ajax':1}res=requests.post(url,data=postdata)res.encoding=res.apparent_encodingres=res.textif'loginok'inres:#如果该字段存在res="登录成功!”returnresif'5minutes'inres:#多次错误提交可能导致账号被锁定5分钟print("登录失败:")returnresif'E2620'inres:#此为账号已经在其他设备上登录的情况,先退出再登录logout(url,username,password)returnlogin(username,password)returnres#退出当前账号的登录deflogout(url,username,password):logout_data={'action':'logout','username':用户名,'password':密码,'ajax':1}res1=requests.post(url,data=logout_data)res1.encoding=res1.apparent_encodingres1=res1.textprint("账号已注销!")if__name__=='__main__':status=checkinternet()ifstatus==0:txt=login(xxxxx,xxxxxxxx)#输入账号密码print(txt)elifstatus==1:print("有网络!")txt=login(xxxxxxx,xxxxxxx)print(txt)else:print("Unknownresult!")解释完代码部分,我们如何打包成可执行文件,点击直接吗?网络呢?这里推荐一个库---pyinstallerpipinstallpyinstaller这个库可以直接将py文件打包成可执行文件,支持win/mac/linux平台。当我们写完文件后,执行以下命令:pyinstaller-F文件名.py执行完后,我们可以看到生成了几个文件夹,可执行文件在dist文件夹下。放在桌面上,每次连上就可以一键连上校园网~