校园网连接助手 适用于哆点 Python源码

为了参加学校的竞赛写的项目,应该适用于所有哆点登录

调用了requests库和os库

原理:POST提交登录信息

文中的ip需要自己改一下

#校园网络连接助手 Version 1.0.0
#使用前需安装requests库
'''
import os 
os.system("pip install requests")
'''
'''
                                   作者:黑茶子
                             
'''
#自动登录配置,手动登录不填写

username = "12345678@comcis" #账号
passwords = "88888888" #密码
usestaus = "False" #参数为Ture 或 False

'''
说明:
手动填写选择自动登录过后,会在文件运行目录下生成upa.txt,此文件为账号信息。
'''
import requests
import os
def is_in(full_str, sub_str):
    try:
        full_str.index(sub_str)
        return True
    except ValueError:
        return False
def getmidstring(html, start_str, end):
    start = html.find(start_str)
    if start >= 0:
        start += len(start_str)
        end = html.find(end, start)
        if end >= 0:
            return html[start:end].strip()
def login():
    print("{}>欢迎使用校园网连接助手!".format(username))
    if username == "":
        print("请填写账号")
    elif passwords =="":
        print("请填写密码")
    else:
        print("{}>正在登录,请稍后".format(username))
        date = "shabi"
        r = requests.post('http://10.149.255.240/0.htm','DDDDD={}&upass={}&0MKKey=%B5%C7%A1%A1%C2%BC&v6ip='.format(username,passwords))
        if is_in(r.text, "登录成功窗"):
            print("{}>登录成功,可以正常使用网络!".format(username))
            userinfo = requests.get('http://10.149.255.240/')
            time = getmidstring(userinfo.text,'time=\'','\'')
            nflow = getmidstring(userinfo.text,'flow=\'','\'')
            flow = int(nflow)/1024
            print("")
            print("┏━━━━━━━━━━用户信息━━━━━━━━━━┓")
            print("┃                            ┃")
            print("┃    已使用时间:{}分钟".format(time))
            print("┃    已使用流量:{:.2f}MB".format(flow))
            print("┃                            ┃")
            print("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")
            re = input("注销账号(Y/N):")
            if re == "Y":
                logout = requests.get('http://10.149.255.240/F.htm')
                time = getmidstring(logout.text,'time=\'','\'')
                print("注销成功!")
            else:
                exit()
                
        else:
            errorinfo = getmidstring(r.text,'msga=\'','\'')
            if errorinfo == "error5 waitsec <3":
                errorinfo = "┃     请等待五秒钟后连接     ┃"
            elif errorinfo == "userid error1":
                errorinfo = "┃   账号不存在,请重新输入   ┃"
            elif errorinfo == "userid error2":
                errorinfo = "┃    密码错误,请重新输入    ┃"
            else:
                errorinfo = errorinfo
            print("┏━━━━━━━━━━登陆失败━━━━━━━━━━┓")
            print("┃                            ┃")
            print("{}".format(errorinfo))
            print("┃      更改密码请输入RE      ┃")
            print("┃                            ┃")
            print("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")
            re = input("重新连接(Y/N):")
            if re == "Y":
                login()
            elif re =="RE":
                ul()
            else:
                exit()
                
def ul():
    username = input("请输入您的账号:")
    passwords = input("请输入您的密码:")
    autologin = input("是否需要记住登录?(Y/N):")
    if autologin == "Y":
        upa = "|"+ username +"|A|"+ passwords +"|B|"+ autologin +"|"
        File=open(r'upa.txt','w')
        File.write(upa)
        File.close()
        login()
    else:
        login()
if usestaus == "Ture":
    login()
else:    
    if os.path.exists("upa.txt") == True:
        f = open("upa.txt",'r')
        wj = f.read()
        username = getmidstring(wj,'|','|A|')
        passwords = getmidstring(wj,'|A|','|B|')
        login()
    else:
         ul()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值