找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5192|回复: 6

padavan实现校园网自动登录的问题

[复制链接]
发表于 2018-4-28 16:19 | 显示全部楼层 |阅读模式
本人新手,想向大家请教一下padavan实现校园网自动登录的问题。我们学校采用网页验证,非锐捷和dr.com ,凌晨会断网,但我有设备需要尽可能保持在线。
我手上已经有电脑端有效的python3的脚本(自动检测断网并重连)如下:
import urllib.request
import urllib.parse
import base64
import json
import time

#一卡通号
username = 'XXXXXXXX'
#一卡通密码
password = 'XXXXXXXXXXXX'
#检查周期(秒)
sleeptime = 600


#check if connect to internet
def checkIfConn():
    reqIFconn = urllib.request.Request('http://w.seu.edu.cn/index.php/index/init?')
    res = urllib.request.urlopen(reqIFconn)
    result = res.read().decode('utf-8')
    data = json.loads(result)
    status = data['status']
    return status

#connect to internet
def reconn(username,password):
    passwordBase64 = base64.b64encode(password.encode(encoding="utf-8"))
    data = urllib.parse.urlencode({'username': username, 'password': passwordBase64, 'enablemacauth': 0})
    data = data.encode('utf-8')
    request = urllib.request.Request("http://w.seu.edu.cn/index.php/index/login")
    request.add_header("Content-Type","application/x-www-form-urlencoded")
    urllib.request.urlopen(request, data)


if __name__ == '__main__':
    while (True):
        print('checking...')
        if not checkIfConn():
            reconn(username,password)
            print('reconnected at %s' % time.ctime())
        time.sleep(sleeptime)

怎样在路由器上实现类似功能?本人对路由端接触不多,现在不知从何下手,万望大佬指点一下,谢谢!
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2018-4-28 17:03 | 显示全部楼层
我们学校也有网页登陆 我的shell是先ping 114.114.114.114 连续ping三次不通则wget post data 然后利用cron每分钟运行一次shell

点评

大致的脚本命令是啥  详情 回复 发表于 2018-4-28 21:07
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-28 21:07 | 显示全部楼层
小明666 发表于 2018-4-28 17:03
我们学校也有网页登陆 我的shell是先ping 114.114.114.114 连续ping三次不通则wget post data 然后利用cron ...

大致的脚本命令是啥
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2018-4-29 08:54 | 显示全部楼层
这就是post了请求上去,主要是将data这段发送到至认证地址,路由器上用curl可以实现。

点评

试了半天curl的命令,好像post 不上去。像是curl -H "Content-type: application/x-www-form-urlencoded; charset=UTF-8" -d "username=xxxxxx&password=XXXXXXXX" http://w.seu.edu.cn/index.php/index/login 可能  详情 回复 发表于 2018-5-5 15:25
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-5 15:25 | 显示全部楼层
小二的猫 发表于 2018-4-29 08:54
这就是post了请求上去,主要是将data这段发送到至认证地址,路由器上用curl可以实现。

试了半天curl的命令,好像post 不上去。像是curl -H "Content-type: application/x-www-form-urlencoded; charset=UTF-8" -d "username=xxxxxx&password=XXXXXXXX" http://w.seu.edu.cn/index.php/index/login 可能是哪边出了问题呢?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2018-5-9 23:02 | 显示全部楼层
不用那么麻烦,刷好了老毛子的固件之后将Python脚本通过Xftp、winscp等工具上传到路由器之后在Xshell里输入nohup Python 脚本名 &      回车执行就好了,这样就可以让脚本在路由器后台执行了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2018-5-25 19:10 | 显示全部楼层
请问你解决这个问题没有?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-23 15:33

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表