win10和linux利用curl实现校园网自动登录 | 您所在的位置:网站首页 › linux开机自动登录用户密码错误 › win10和linux利用curl实现校园网自动登录 |
问题来源:一些学校或者企业的网络通常需要连接wifi时在弹出来的登录界面上填写用户名和密码才能连网,比较麻烦,本文用curl编写脚本,在windows10和linux上实现连接wifi时即可上网,并且定时检测网络状态,保持电脑始终联网 用curl写脚本首先,在win10上,我这里使用谷歌浏览器,保持上网账号为注销状态,连接wifi,弹出上网登录界面,点击F12,接着点Network。 然后在左侧界面填写用户名和密码,点击登录,观察右侧Network界面的变化。 点击login?callback,右侧有一个request url,复制request url windows上实现自动运行脚本在自己的工作路径上新建一个.txt文件,里面的内容是curl+“request url” curl "request url"requesr url 换成刚刚自己复制的,保存代码,将.txt脚本改成.ps1格式。 紧接着打开windows的任务计划程序点击创建基本任务 具体设置见链接 linux上实现自动运行脚本有两种方法: 第一种方法:用linux contrab工具先在终端的指定路径新建一个脚本 $sudo nano connect.sh将上文的curl脚本复制进来,保存并退出,此时在Linux的终端上用以下指令运行脚本,成功联网 $sudo sh ./connect.sh接下来打开contrab工具 $contrab -e进入crontab的任务部署文档,里面用于存放需要定时启动的任务 直接跳到文件的最后一行,在后面添加,其中,/usr/connect.sh更换为自己的路径 "10 02 * * * /usr/connect.sh"crontab任务表的格式如下: # 注释行 f1 f2 f3 f4 f5 program #开始的行为注释行f1表示分钟周期,范围 (0 - 59)f2 表示小时周期,范围(0-23)f3 表示月份中的日期,范围(1-31)f4 表示月份,范围(1-12)f5 表示星期中的第几天,范围(0-6)从星期日开始计数,也可使用sun,mon,tue,wed,thu,fri,satprogram 表示要执行的程序命令行 关于contrab的更详尽介绍见这篇文章 第二种方法:自己写脚本运行同样新建一个脚本文件 $sudo nano connect.sh在里面添加内容(这段代码的意思就是检测是否能连上百度,如果不能就重新curl一下网络) timeout=5 target=www.baidu.com ret_code=`curl -I -s --connect-timeout $timeout $target -w %{http_code} | tail $ if [ "x$ret_code" = "x200" ]; then else 这一行添加上文写过的curl "request url"代码 fi在终端运行一下 $sudo sh ./connect.sh这里遇到一个问题,最开始运行完代码并不能后发现Ping通百度,在终端上直接ping www.baidu.com也失败 分析原因:没有配置DNS服务器 网上有很多在Linux上配置DNS的方法,附上一个 |
CopyRight 2018-2019 实验室设备网 版权所有 |