一、网上找到的方法

参考自
http://yangyingming.com/article/380/

在家呆了很长时间。需要使用的资料在公司电脑上没有传到邮箱里,怎么办呢,只能委托公司的前台小哥哥帮我在公司电脑上打开太阳花远程控制了。但是,公司的电脑半夜会断网!,断网之后,远程控制就断了,怎么办,我只能像师兄那样在公司电脑上搞一个自动登录上网,只要公司电脑能上网,我就能远程控制公司电脑。师兄的方法是在电脑上搞了一个定时器,每过一段时间就自动登录。向师兄要来了他的自动登录脚本,是什么什么windows批处理文件好像。我也不知道咋用,但是又不想麻烦师兄,得嘞,自己动手,丰衣足食,我在网上找了一个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 , subprocessusername = '你的base64加密过的校园网用户名'
password  = '你的base64加密过的校园网密码'
url = 'https://login.xxxx.edu.cn/auth_action.php'   # 校园网登陆验证地址def isConnecting():# Judge network connect statusres = subprocess.call('ping 8.8.8.8 -n 1',shell=True)return False if res else Truedef Signon():# Sign ondata = {'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 responsedef main():while True:if not isConnecting():# no-connect status, attempt sign onSignon()if __name__=="__main__":try:main()except Exception,e:print '[ERROR]:',print e

设置任务计划

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

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

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

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

常规页面:

触发器页面:

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

编辑触发器(将触发器设置成上面的电脑启动时运行或者这里的连接无线网络时运行,均可):

操作页面:

编辑操作:

条件页面:

设置页面:

但是,我在按照这些一步步设置的时候,在最后出现了一个对话框,要求输入运行任务的用户账户信息,我搞了半天,也没能找到账户的密码。恩,我看了下之所以会出现这么个东西是因为前面的常规页面,选中了”不管用户是否登陆都要运行“。将这个选成上面的”只在用户登录时运行“就不会出现这个了。

然后,当我断掉公司电脑的网络,想试一下,发现远程控制就真的断了。大概没有成功。没有成功的原因可能是:

1)选成”只在用户登录时运行“这个操作本身就是错的??

2)前面为了找账户密码的时候,进行了一些操作,没有改回去,操作如下:
将C:/windows/system32中的osk.exe剪切了出来;将C:/windows/system32中的osk.exe重命名为了cmd.exe

3)代码本身里的网址啊什么的写的不正确。

二、师兄的方法

在上次试了网上的方法,通过把”不管用户是否登陆都要运行“换成”只在用户登录时运行“,就可以不用输入用户名和密码了,但是这很有可能就是上次失败的原因。这次还是用”不管用户是否登陆都要运行“,当然用户名还是dell-PC\dell,密码就是我的锁屏密码(不得不说我太蠢了)。
这次用的是师兄给的.bat脚本。

1. 下载安装curl

1)下载curl网址:https://curl.haxx.se/download.html
进入curl官网下载合适的版本,我这里下载的是Windows 64位的curl.

2)解压下载的curl

3)可以给Windows增加curl命令的环境变量,为系统变量增加CURL_HOME环境变量,给PATH环境变量加上%CURL_HOME%;


4)将刚才设置环境变量用的路径下的curl.exe文件复制到复制到C:\Windows\System32路径下面

5)打开cmd ,输入 curl --help,显示入下,就代表成功了。

2. .bat脚本

.bat脚本,直接右键点击“编辑”就能打开,并修改。点击“编辑”,就会用记事本打开了。
.bat脚本如下:

@echo off curl http://2.2.2.2/ac_portal/login.php -X POST -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -d "opr=pwdLogin&userName=用户名&pwd=密码&rememberPwd=0"

3. windows任务计划设置

和上面网上找到的那种方法就大同小异了。

实验室电脑自动登陆上网相关推荐

  1. 换了路由器电脑都连不上网了_换了新路由器电脑连不上网

    路由器作为我们日常上网时不可缺少的网络设备,现在很多家庭都有安装路由器以备可以进行无线上网,可能我们的电脑或者路由器偶尔会出现这样或者那样的小问题.最常见的就是换了新路由器电脑连不上网?遇到这样的情况 ...

  2. 计算机上的用户名是哪一个,电脑在哪登陆上网账号密码

    电脑联网的时候有时候需要账号密码是不是有点烦躁呢?下面是学习啦小编为大家整理的关于电脑在哪登陆上网账号密码,一起来看看吧! 电脑在哪登陆上网账号密码 遇到这种情况,首先要从电脑的IE浏览器入手.电脑打 ...

  3. 检测网络不通时自动重启计算机,电脑连不上网怎么办?6个最简单最实用的解决办法,帮你轻松搞定!...

    电脑是一台机器,但是如果连上网,它就会成为一台神器.所谓"秀才不出门,便知天下事",有了电脑和网络,你想或许什么样的信息都可以! 但是如果电脑连不上网,我们又该如何处理呢?(这时我 ...

  4. 计算机登陆后如何防止自动注销,电脑自动注销怎么处理

    有时候有些用户确实遇过电脑莫名其妙经常自动注销,这给用户带来了很多不便,下面是学习啦小编给大家整理的一些有关电脑自动注销的处理方法,希望对大家有帮助! 电脑自动注销的处理方法一 如果你遇到点击用户名进 ...

  5. seu校园网简易自动登陆教程

    这是我的第一篇博客,在这里,我将记录下我学习.折腾的历程,给自己做一个备忘录,同时也希望能帮助到一些人 本篇的背景是这样的,实验室的电脑用于挂pt(嘘),需要7*24在线,然而校园网超过指定流量后会自 ...

  6. GPRS外置模块连接电脑进行拨号上网

    我们如何使用CClinkGPRS外置模块串口连接电脑进行拨号上网呢?先把移动SIM手机卡插入CClinkGPRS模块底部的卡槽内再把CClinkGPRS模块背后的串口和随机的黑色串口线将模块和电脑串口 ...

  7. 深圳大学DR客户端自动登陆脚本

    场景解释 现在很多高校都使用DR客户端管理校园网.这就导致了每次开机都要手动打开验证网页或者客户端输入账号密码手动登陆.程序的目的是解放人类,于是就又开始了解放人类的折腾. DR客户端验证方式分为两种 ...

  8. charles 代理手机连不上网_小白也能懂:电脑连不上网分析与解决!

    电脑突然连不上网的情况时有发生,最近我发现即便是略有电脑基础的人,有些也不知道该如何检查处理,这方面的文章以前发过很多,今天再来梳理一下. 记住最重要的一点,是需要理解,下面的内容会教你如何理解的基础 ...

  9. linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网

    前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...

最新文章

  1. Python心得--如何提高代码质量
  2. win7 'IIS APPPOOL\Classic .NET AppPool' 登录失败
  3. delete和truncate的区别
  4. 实现国标GB/T28181流媒体服务解决方案EasyGBS之GB35114和GB28181的注册信令流程简介
  5. 安装R软件(R、studio)的安装包下载官网和教程
  6. 视频编解码器讲解-H.264、VP9、HEVC、AV1
  7. 西电计算机好考吗,西电计算机考研难吗 西电计算机专业考研难度有多大?
  8. JPress安装体验
  9. Wireshark对pop3抓包分析
  10. 高德足迹地图在哪里,高德地图怎么点亮城市?高德地图足迹地图查看方法
  11. Python 之亮闪闪的七段数码管
  12. 猿创征文|GaussDB(for openGauss):基于 GaussDB 迁移、智能管理构建应用解决方案
  13. 时评:所谓游戏人才六十万缺口背后
  14. 访美著名医学中心后,清华董家鸿院士提出了“4I战略”
  15. 农产品电子商务行业研究及十四五规划分析报告
  16. PHP微信支付JSAPI网页支付Native原生支付
  17. xcode 调用opencv 摄像头权限问题
  18. CStdioFile的用法
  19. 幻灯片模式图片浏览器
  20. 计算机毕设Python+Vue智慧工地管理系统(程序+LW+部署)

热门文章

  1. 关于Google神牛Jeff Dean的笑话,非程序员勿入(转)
  2. 算法设计与分析期末复习不挂科
  3. Fiddler弱网设置步骤
  4. WPS DCOM组件word转PDF
  5. 【收藏】什么是API测试?这是我见过的最全的测试指南!
  6. SpringBoot集成kafka全面实战
  7. 耀眼的天才——Aaron Swartz提高效率的秘诀
  8. 获取硬盘和卷或分区相关信息(容量,ID,卷标名字等)
  9. 马云:阿里巴巴的首席执行官
  10. Salesforce公司简介