老师,为啥我这里seesion只获取了一个cookie的值呢
来源:5-6 用Python对Cookie进行持久化和装载复用(1)

慕函数5481370
2021-11-02
from lxml import etree
import requests
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as PKCS15
import base64
import json
from fake_useragent import UserAgent
username = 'qqqqqqqq'
password = 'qqqqqqqq'
def getEncrypt(pk,psw):
pk = "-----BEGIN PUBLIC KEY-----\n{}\n-----END PUBLIC KEY-----".format(pk)
publickey = PKCS15.new(RSA.importKey(pk))
password = base64.b64encode(publickey.encrypt(psw.encode())).decode()
return password
url = 'http://shanzhi.spbeen.com/login/'
def getResponse(url,uname,psw):
ua = UserAgent()
headers = {
"Cookie": "UM_distinctid=17c6d2b75ad19e-09a7dd1ef44d64-b7a1b38-144000-17c6d2b75ae16d; csrftoken=f4qGPAhFCBkEdqlvftGeUVNEobsYMigLb0CkM4KmXBmcVIWn6SjcA9RTl0vi6du8",
"User-agent": ua.chrome
}
session = requests.session()
get_request = session.get(url, headers=headers)
html = etree.HTML(get_request.text)
pk = html.xpath(".//input[@id='pk']/@value")[0]
csrftoken = html.xpath(".//input[@name='csrfmiddlewaretoken']/@value")[0]
miwen = getEncrypt(pk, psw)
fromdata = {
"username": uname,
"password": miwen,
"csrfmiddlewaretoken": csrftoken
}
get_response = session.post(url, headers=headers, data=fromdata)
return get_response
get_response = getResponse(url,username,password)
cookie = get_response.cookies.get_dict()
{“shanzhi_kmer”: “0th8l8w3t76c4t6bfznqpvxp56w347c0”}
写回答
1回答
-
慕函数5481370
提问者
2021-11-02
呃呃,我知道错在哪了,老师获取的是session.cookie,我获取的是response的cookie。。。
00
相似问题