东北某海滨城市的某高校的某分校区的校园网登录程序,(python3, 模拟浏览器的登入方式)

前些年写过这个登录程序,过了几年系统有所升级,于是做了一定的修改。

新版本的校园网登录程序依然是模拟浏览器去登录校园网。

Python3.7编写。

 

 

#encoding:UTF-8
from urllib.parse import urlencode
from urllib.request import urlopen
import urllib
import os
import sys
import getpass

if __name__ == "__main__":
    #username=input("please input your username\nUsername: ")
    #print "please input your password"
    #password=getpass.getpass()
    username = "123456"
    password = "123456"
    
    
    opener=urllib.request.build_opener(urllib.request.HTTPRedirectHandler(), urllib.request.HTTPHandler(debuglevel=0))
    opener.addheaders=[('User-agent', "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)")]
    url='http://172.20.20.1:801/srun_portal_pc.php?ac_id=3&'
    
    try:
        response=opener.open(url, urlencode({"ac_id":"3", "action":"login", "nas_ip":"", "password":password, "save_me":"1", "url":"", "user_ip":"", "user_mac":"", "username":username }).encode("utf-8"))

        xxx_print = response.read().decode("utf-8")

        if xxx_print.find(u'网络已连接') != -1:
            print( '\n\n\n' )
            print( '##################################' )
            print( '您已经成功登录' )
            print( '##################################' )
            print( '\n\n\n' ) 
        else:
            print( '\n\n\n' )
            print( '##################################' )
            print( '抱歉,您登录失败' )
            print( '##################################' )
            print( '\n\n\n' )
            print( xxx_print )
    except Exception as e:
        print( '\n\n\n' )
        print( '##################################' )
        print( "网络联通有误, 请检测网络是否可达"  )
        print( '##################################' )
        print( e )

 

 

 

最后,成功登入。

 

 

 

 

 

 

 

-----------------------------------

 

posted on 2020-12-28 15:42  Angry_Panda  阅读(253)  评论(1编辑  收藏  举报

导航