#禅道登录

#1.MD5加密逻辑:md5(md5(password)+rand())
#2.password : quickon4You
import requests

s = requests.Session() #保持会话


#获取rand
rand_url = 'https://zentao.demo.qucheng.cc/index.php?m=user&f=refreshRandom'
header_rand = {
    "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "referer": "https://zentao.demo.qucheng.cc/index.php?m=user&f=login&referer=L2luZGV4LnBocD9tPW15JmY9aW5kZXg=",
    "x-requested-with": "XMLHttpRequest"
}
res_rand = s.get(rand_url, headers=header_rand)
print(res_rand.text)

#调用js
password =  'quickon4You'
from encrypt import ExecJs
e = ExecJs()
s1 = e.get_encrypt_pwd('md5',password)
s2 = e.get_encrypt_pwd('md5',s1 + res_rand.text)

url = 'https://zentao.demo.qucheng.cc/index.php?m=user&f=login'

data = {
    "account":"demo",
    "password":s2,
    "passwordStrength":"0",
    "referer":"/",
    "verifyRand":res_rand.text,
    "keepLogin":"1",
    "captcha":"",

}

header = {
    "host": "zentao.demo.qucheng.cc",
    "content-length": "765",
    "sec-ch-ua-platform": "macOS",
    "x-requested-with": "XMLHttpRequest",
    "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "sec-ch-ua": 'Not)A;Brand;v="8", Chromium;v="138"',
    "sec-ch-ua-mobile": "?0",
    "accept": "*/*",
    "origin": "https://zentao.demo.qucheng.cc",
    "sec-fetch-site": "same-origin",
    "sec-fetch-mode": "cors",
    "sec-fetch-dest": "empty",
    "referer": "https://zentao.demo.qucheng.cc/index.php?m=user&f=login&referer=Lw==",
    "accept-encoding": "gzip, deflate, br, zstd",
    "accept-language": "zh-CN,zh;q=0.9",
    "priority": "u=1, i",
}




res4 = s.post(url,data=data,headers=header)
print(res4.text)
  • 核心机制​:Session 对象会自动存储服务器返回的 Cookie,并在后续请求中携带这些 Cookie,无需手动处理。例如,登录后访问需要认证的页面时,Session 会自动发送登录凭证

  • ​应用场景​:适用于需要登录的网站(如禅道、电商平台),避免每次请求重复认证