python异步中aiohttp获取不到正确的Set-cookies值

python异步中aiohttp获取不到正确的Set-cookies值

这几天学习了python的异步请求,想修改之前写的代码提高请求效率,但遇到一个包含set-cookie返回的请求无法获取正确的cookie值

原程序关键代码(单线程)(重点看print()输出内容):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def enter_study(num, course):  # 进入每个课群的每个课程记录每个章节url
    global lesson_url  # 章节
    header['Referer'] = re.search(r'http.*?course', qun_course_url[num][course]).group() + 's'
    print(session.cookies)  # 打印当前网站的cookies
    print('\n\n\n')
    while True:
        try:
            request = session.get(qun_course_url[num][course], headers=header, timeout=3)  # 进入课程
            print(request.cookies)
            print(session.cookies)  # 打印当前网站的cookies
            input()
            break
        except Exception as e:
            print('进入课程学习重试中。。。')
            continue
    update_time(1)
    update_time(2)
    temp_list = []
    for x in re.findall(r'/courses/YOOC\S*/">', request.text):
        temp_list.append('https://xueyuan.yooc.me' + x[:-2])  # 该课程有多少章节
    lesson_url[num][course] = temp_list

运行结果(cookies中间空白处因为涉及用户信息所以屏蔽了):
在这里插入图片描述
修改后的出现问题的代码(异步)(重点看print()输出内容):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
async def enter_study(num, course, header):  # 进入每个课群的每个课程记录每个章节url
    async with aiohttp.ClientSession(cookies=cookie) as session:
        header['Referer'] = re.search(r'http.*?course', qun_data[num][2][course]).group() + 's'
        #打印请求前的cookie记录
        print(session.cookie_jar.filter_cookies())
        async with session.get(qun_data[num][2][course], headers=header) as html:  # 进入课程
            update_time(1)
            update_time(2)
            print('\n\n')
            print(html.cookies)#打印Set-cookie信息
            print()
            #打印请求后的cookie记录
            print(print(session.cookie_jar.filter_cookies()))
            if str(html.cookies).find('Set-Cookie') > -1:
                save_cookie_record['Set-Cookie'] = html.cookies
            rep_text = await html.text(encoding='utf-8')
            temp_list = []
            for x in re.findall(r'/courses/YOOC\S*/">', rep_text):
                temp_list.append('https://xueyuan.yooc.me' + x[:-2])  # 该课程有多少章节
            qun_data[num][2][course] = temp_list

运行结果(请求后返回的set-cookies信息没有更新):
图中的Set-cookie没有变化
该程序是用一个cookie字典来保存cookie值的,需要通过请求后的set-cookie值来更新我的cookie字典,为什么用在异步请求上却不行呢?