python模拟登录网站,用post提交的参数问题
这个网站是我们学校的体温上报网站,本来想着写个程序让他自己报体温,但是提交参数的时候出错了,一直登录不进去。请各位大佬指点一下哪里错了。放链接http://hmgr.sec.lit.edu.cn
我f12看他登陆时提交的参数是json类型,但我就是死后登不进去。请各位大佬指点一下。下面是我写的代码图
# -*- coding: utf-8 -*-
import requests
import json
header = {
"Host":"hmgr.sec.lit.edu.cn",
"Content-Type":"application/json"
}
postUrl ="http://hmgr.sec.lit.edu.cn/wms/healthyLogin"
Data = {
"cardNo":"4545454","password":"zsh336"
}
def lylgLogin():
#登录
print("开始登录")
responseRes = requests.post(postUrl, json=Data, headers=header)
# 返回数据
print(f"statusCode = {responseRes.status_code}")
print(f"text = {responseRes.text}")
if __name__ == "__main__":
# 从返回结果来看,有登录成功
lylgLogin()
本帖最后由 Prozacs 于 2021-7-27 16:14 编辑
import requests
import json
import hashlib
header = {
"Accept": "application/json, text/plain, */*",
"Content-Type":"application/json;charset=UTF-8;Access-Control-Allow-Headers",
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',
'Referer':'http://hmgr.sec.lit.edu.cn/web/',
}
pasd= hashlib.sha256('zsh336'.encode('utf-8')).hexdigest()
postUrl ="http://hmgr.sec.lit.edu.cn/wms/healthyLogin"
Data = '{"cardNo":"4545454","password":"'+pasd+'"}'
def lylgLogin():
#登录
print("开始登录")
responseRes = requests.post(postUrl, data=Data, headers=header)
# 返回数据
print(f"statusCode = {responseRes.status_code}")
print(f"text = {responseRes.text}")
if __name__ == "__main__":
# 从返回结果来看,有登录成功
lylgLogin() 用request库里面的session登录并提交 花里胡哨的配色~ 好好练习吧
responseRes = requests.post(postUrl, json=Data, headers=header)
responseRes = requests.post(postUrl, data=Data, headers=header) 或 responseRes = requests.post(postUrl, data=json.dumps(Data), headers=header) 你这能登录成功才怪,你没看清楚密码加密了么 let sha256 = require("js-sha256").sha256; //这里用的是require方法,所以没用import
let params = {..._formData};
params.password = sha256(this.formData.password);
查看你们学校源码发现使用了sha256加密你的代码没有加密所以登不上, password sha256加密就可以了 其他我都不敢兴趣,我就好奇这洗澡也要预约了?还是VUE写的 Prozacs 发表于 2021-7-27 16:02
import requests
import json
import hashlib
谢谢大佬们{:1_893:} linguo2625469 发表于 2021-7-27 16:13
let sha256 = require("js-sha256").sha256; //这里用的是require方法,所以 ...
谢谢大哥
页:
[1]
2