python: 校園網登錄腳本

python: 校園網登錄腳本

該腳本需要以下python庫

#1、
beautifulsoup4
#2、
requests
#coding:utf-8
import bs4 as btfsp
import requests
import time
from random import randint

header_post={
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8',
    'Cache-Control':'no-cache',
    'Connection':'keep-alive',
    'Content-Length':'36',
    'Content-Type':'application/x-www-form-urlencoded',
    'Cookie':'ASPSESSIONIDSACCCAAA=AJADAMKADANAGNKFPPLGBPPN; ASPSESSIONIDQCDDDABA=EIKHOBECKOCNJFHLLBMPMMOK',
    'Host':'202.198.3.22',
    'Origin':'http://202.198.3.22',
    'Pragma': 'no-cache',
    'Referer':'http://202.198.3.22/login_W8.asp',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
}

def ret_post_data(usr_name,pwd):
    post_data={
        'username':usr_name,
        'passwordx':pwd
    }
    return post_data

def login(usrs,pwds):
    #print("請輸入賬號:")
    usr=usrs
    #print("請輸入密碼:")
    pwd=pwds
    r=requests.post("http://202.198.3.22/login_W8_2.asp",headers=header_post,data=ret_post_data(usr,pwd))
    #r.encoding='utf-8'
    soup=btfsp.BeautifulSoup(r.content.decode("gb2312").encode("utf-8"),'html.parser')
    print("2323")
    print(soup)
    #soup=soup.select('body')[0]
    #soup=soup.select('table')[0].text.strip()
    
header_get={
    'Referer': 'http://202.198.3.22/login_W8_2.asp',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
}

params_get={
    "jsonpcallback":"",
    "username":"",
    "password":"",
    "_":""
}
def random_with_N_digits(n):
    range_start = 10**(n-1)
    range_end = (10**n)-1
    return randint(range_start, range_end)  

def login_get(uname,pwd):
    millis = int(round(time.time() * 1000))-100
    jqstr="jQuery1720"+str(random_with_N_digits(17))+"_"+str(millis)
    params_get["username"]=uname
    params_get["password"]=pwd
    params_get["jsonpcallback"]=jqstr
    params_get["_"]=str(millis+3)
    res=requests.get("http://202.198.3.44:8080/PortalWebServer/Login",params=params_get, headers=header_get)
    print(res)

#使用控制端模擬登陸 並打開對應網頁
if __name__=='__main__':
    username="XXXXXXXXX"
    password="XXXXXX"
    login(username,password)
    login_get(username,password)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章