python 自动登录网站_python 实现校园网自动登录

news/2024/5/9 18:00:22/文章来源:https://blog.csdn.net/weixin_39922151/article/details/110041376

背景

我所在的学校校园网登录是web式的,即随便打开一个网页就会自动跳转到登录页面,然后输入用户名密码,点登录,便可以上网了。

但这种登录方式有个缺点:登录状态不会一直保持下去。即过一段时间就会掉线,然后你需要重新登陆才行。这个时间大概是一天。

这就蛋疼了,想让实验室的电脑随时保持联网状态怎么办呢?(有时候我需要远程我的电脑)

这个时候可以用python脚本解决这个问题!

思路

写一个死循环一直 ping 8.8.8.8,如果 ping 通说明正连着网,进入下一次循环;如果 ping 不通,说明断网了,尝试登陆校园网,然后进入下一次循环。即:

ping 8.8.8.8 ---> 如果已联网 ---> 继续 ping 8.8.8.8 ---> …… ---> 如果断网 ---> 尝试登陆 ---> 登陆成功 ---> ping 8.8.8.8 ……

脚本写好后放到 windows 的计划任务里设置开机启动。

或者在linux中设置 crontab,一样的道理。

技术点

利用 python 进行 post 请求

base64加密解密

利用 subprocess 创建子进程

碎碎念

脚本在后台运行cpu占用大概为 1~2%,内存占用大概为 4M 左右,完全可以接受。

当然如果你有条件的话,运行在内网服务器上也是极好的,顺便可以连个路由器出来,这样实验室的小伙伴能用不断网的wifi了……

如果没有服务器,树莓派+路由器的组合也是一种解决方案~

当然最省钱的就是我这种把脚本直接跑在自己机器上的……

代码

#coding=utf8

import urllib,urllib2

import base64

import os , subprocess

username = '你的base64加密过的校园网用户名'

password = '你的base64加密过的校园网密码'

url = 'https://login.xxxx.edu.cn/auth_action.php' # 校园网登陆验证地址

def isConnecting():

# Judge network connect status

res = subprocess.call('ping 8.8.8.8 -n 1',shell=True)

return False if res else True

def Signon():

# Sign on

data = {

'action' : 'login',

'username' : base64.decodestring(username),

'password' : base64.decodestring(password),

'ac_id' : 1,

'save_me' : 0,

'ajax' : 1,

}

data = urllib.urlencode(data)

response = urllib2.urlopen(url,data=data)

response = response.read().decode('utf8')

print response

def main():

while True:

if not isConnecting():

# no-connect status, attempt sign on

Signon()

if __name__=="__main__":

try:

main()

except Exception,e:

print '[ERROR]:',

print e

设置任务计划

在 windows 中设置 任务计划 以便在某些情况下自动运行脚本。

比如现在我想在 连接 WIFI 时自动运行校园网登陆的脚本。

实现的思路是在任务计划中创建一个新的任务,在新任务的触发器中设置 发生事件时 运行脚本,连接 WIFI 的事件是 WLAN-AutoConfig > Operational 的 8001 事件。

可按如下设置创建新任务:

常规页面:

d6886de4-bf2c-4e80-bc6e-31cfdd06b426.png

触发器页面:

4268df30-df3f-4da9-899e-3b192296bfce.png

编辑触发器(电脑启动时运行):

7d2749c6-3802-43a9-b874-6cc09fec7bb1.png

编辑触发器(可选,连接无线网络时):

566f0942-e288-46e8-9eb3-50ecd8f4c366.png

操作页面:

8bd56c1b-148f-4c5c-b810-0d1479ea9d24.png

编辑操作:

9372964a-b6fa-4217-bf71-fab9a7d901b2.png

条件页面:

f514c908-590b-4046-bbe1-4af47a470fae.png

设置页面:

12924a7b-9452-4bd1-83b6-5a2b494633a4.png

参考资料

原创声明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732147.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue导出excel加一个进度条_一个文件扒掉网站库子?不用插件批量导出opencart订单excel教程...

前面说过在这家跨境电商公司用opencart做外贸独立商城,好处当然是后台非常简洁如图1,速度对我们这种中小型外贸电商公司而言买不起高档配置的条件下的理性选择,但是后台太简洁了以至于很多实用功能都没有,我现在就碰到了个问题&am…

如何使用代理服务器访问授权的网站_如何减少HTTP请求并加快网站访问速度?...

每当有人访问您网站上的页面时,浏览器都必须请求大量文件。这些HTTP请求直接影响网页的加载速度。通常,更少的HTTP请求意味着网站加载速度更快。 现在,网站的加载速度是搜索引擎排名的重要因素。平均而言,媒体页面加载速度为谷歌的…

记在VMware虚拟机中对网站进行性能压力测试的经历

由于本次测试,仅仅是对静态网站首页进行的测试,所以没有涉及到MySQL数据库的性能监测 服务器基本配置 webbench测试工具 Linux上一款优秀的web性能压力测试工具。webbench最多可以模拟3万个并发连接去测试网站的负载能力。 下面开始测试 第一次并发测试 …

配置Exchange OWA和Sharepoint网站单点登录

如果我们在组织中已经部署完成了Lync、Exchange以及Sharepoint,那么我们会发现这三套系统在通过域账户登录计算机时,如果本机有安装Outlook和Lync,那么在登录Lync或启动Outlook的时候就会自动使用当前登录计算机凭据进行登录。 但如果这个时候…

如何用 CSS 网格快速做出网站原型

简评:CSS 网格模块是创建网站模型的绝佳工具。它是我尝试过的任何其他系统中最快让你体验布局的工具。我们的网格 我们将从模仿一个经典网站的非常基本的网格开始: 首先,我将解释我们需要的 HTML 和 CSS 代码,我将之分为 4 个部分…

android无缝切换主题,Flutter Web网站之最简方式实现暗黑主题无缝切换

往期Flutter Web网站搭建教程Flutter Web 网站之主页框架搭建Flutter Web网站之Jetpack成型Flutter Web网站之ScrollViewGridView优化上期回顾上期我们做了优化,主要针对ScrollViewGridView的使用场景,用了更加合适的组件,这期想做一个主题变…

阿里云系列——3.企业网站备案步骤---2018-1-4

网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 个人网站备案:http://www.cnblogs.com/dunitian/p/4958268.html 先说企业的域名实名认证:一张图就ok了 说下步骤,其实和个人差不多,简单过下吧 1.填写…

java网络编程基础夯实03-为什么不能直接通过IP访问网站

在java网络编程基础夯实02-InetAddress类一文中通过getAllByName得到了www.csdn.net对应的四个IP地址。从理论上说,在IE(或其他的Web浏览器,如Firefox)的地址栏中输入这四个IP地址中的任何一个,都可能访问www.csdn.net。如输入htt…

Linux中使用Apache服务部署静态网站及配置介绍

在介绍Apache服务之前,先了解一下Web网络服务和其他两个服务。 配置文件 /etc/httpd/conf/httpd.conf 参数 部署Apache服务 [rootapache-server ~]# yum install httpd.x86_64 httpd-manual -y 安装服务 [rootapache-server ~]# systemctl start httpd 启动服务 [r…

网市场云建站 v4.8 增加私有模版库,开放 Mysql 配置、在线客服源码

百度智能云 云生态狂欢季 热门云产品1折起>>> 网市场云建站系统,结合各种产品,将一个网站的服务器成本降低到0.1元!打破传统建站的高成本,让价格不再是阻碍的门槛,让每个人都能有自己的网站! 延…

《WEB开发-阿里云建站》第1章 建站前的准备

1.1 阿里云ECS服务器建站概述 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可以干很多事情,建站只是一小部分功能,关于更加具体的内容请参看阿里云官网。 https://www.aliyun.com/ 图1阿里云EC…

《WEB开发- Web服务器环境搭建》使用花生壳+II7搭建网站服务

1简介 IIS7及以上版本提供的请求-处理架构包括以下内容:  Windows Process Activation Service(WAS)可以让站点支持更多协议,不仅仅是HTTP和HTTPS;  可以通过增加或移除模块来自定义Web服务器引擎;  集成IIS和ASP.NET请求-…

《WEB开发-阿里云建站》第1章 建站前的准备(安装Linux服务器管理工具-宝塔)

这篇博客主要是安装Linux服务器管理工具-宝塔,关于阿里云的购买,域名注册备案,以及WDCP的安装请看我的这篇博客。 点击进入 1.4安装Linux服务器管理工具-宝塔 笔者的阿里云使用的Ubuntu16.04。 环境要求:  操作系统&#xf…

今天和大家分享几个可以接私活的网站(偏软件)(转载21ic)

关于程序员接私活,社会各界说法不一。按照作者的观点来说如果你确实急用钱,价格又合适,那就去做。如果不怎么缺钱,那就接私活之前要好好考虑。私活的钱不好挣是一个方面,更重要的是如果你把做私活的时间花在提升自己上…

ashx文件 验证是否登录_如何在百度站长平台验证网站?

如何在百度站长平台验证网站,验证网站都会遇到哪些坑,通过这篇文章让大家详细的了解一下如何验证网站,希望能帮助到更多小伙伴。那么多人都在使用百度站长平台,可是依然有大部分人不知道如何正确使用百度站长平台工具,…

我的家乡网站模板_韩国留学之 学业计划书amp;自我介绍怎么写?(附模板)

大家好,今天小雯来讲讲韩国留学之申请材料那点事儿~最近,有很多同学来找小雯咨询学习计划书的范文,好像对留学资料无从下手,其实,看似很难的学习计划书和自我介绍,一点都不难。如果学校提供模板就按学校模板…

一个好玩的网站http://patorjk.com/

这是一个特别万能的工具 输入网址: http://patorjk.com/ 将会出现这个: 这里可以做的东西简直太多了! Apps: Visualizations: Games and Misc: 功能众多, 1.我们可以做springboot 的banner自定义, 感觉…

restful接口开发实例_广州开发区网站

广州开发区网站学生荣获第46届世界技能大赛武汉选拔赛一等奖2项、二等奖3项大数据技术与应用主干课程:计算机网络技术、数据库技术应用MySQLs Python程序设计、Linux操作系统、Java程序设计工程数学、数据预处理、数据分析及应用、数据可视化、Hadoopx数据采集与网络…

npm 如何卸载swiper_如何快速搭建个人网站?

作者 l 白色蜗牛来源 l 蜗牛互联网(ID: woniu_internet)转载请联系授权(微信ID: 919201148)近期精彩文章:福利!iPhone 256G免费送前言建网站本身是一个很大的工程,涉及前端页面的搭建,网站数据的存储,还要购置服务器资…

如何用oracle分析网站,使用外部表分析eygle.com的网站访问日志

使用外部表分析eygle.com的网站访问日志经过使用Oracle的外部表对Oracle的警告日志文件、跟踪文件进行获取和分析之后,我发现外部表实在是非常易用,甚至到了随心所欲的境地(当然外部表尚不能修改外部文件)。使用外部表可以很容易的实现网站的访问日志分析…