東北某海濱城市的某高校的某分校區的校園網登入程式,(python3, 模擬瀏覽器的登入方式)
阿新 • • 發佈:2020-12-28
前些年寫過這個登入程式,過了幾年系統有所升級,於是做了一定的修改。
新版本的校園網登入程式依然是模擬瀏覽器去登入校園網。
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 )
最後,成功登入。
-----------------------------------