模拟登陆
来源:10-2 模拟登录的原理- session和cookie的原理

JaydenJune
2020-09-20
import json
import requests
def login():
username = "正确的账户"
password = "正确的密码"
url = "https://accounts.douban.com/j/mobile/login/basic"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
}
post_data = {
"ck": "",
"name": username,
"password": password,
"remember": "true"
}
res = requests.post(url, data=post_data, headers=headers)
res_json = json.loads(res.text)
if res_json["status"] == "success":
print("登录成功")
else:
print("登录失败")
if __name__ == '__main__':
login()
debug:
res_json : {‘status’: ‘failed’, ‘message’: ‘parameter_missing’, ‘description’: ‘参数缺失’, ‘payload’: {}}
写回答
1回答
-
JaydenJune
提问者
2020-09-20
找到解决办法了.老师能给讲讲原因吗??? import json import requests def login(): username = "" password = "" # 登录的url url = "https://accounts.douban.com/j/mobile/login/basic" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36" } post_data = { "ck": "", "name": username, "password": password, "remember": "true" } # --------------添加session后get请求一次再post成功----不知什么原因------- sess = requests.session() sess.get(url, headers=headers) res = sess.post(url, data=post_data, headers=headers) # ------------------------------------------------------------------------ res_json = json.loads(res.text) if res_json["status"] == "success": print("登录成功") else: print("登录失败") if __name__ == '__main__': login()
012020-09-22
相似问题