>  Q&A  >  본문

python - 为什么aiohttp的response里的cookies和程序出错时库里自动打印的cookies不一样?

以下是获取cookies的一段代码,运行时是没有问题的。

    r = await session.post(url, data=postData)
    if r.status == 200:
        print ("Get Cookie Success!( Account:%s )" % account)
        cookie = r.cookies
        print (cookie)
        cookies.append(cookie)
    else:
        pass
    # 释放连接
    await r.release()

下图上边的红色框是上边代码的输出,如果程序中有bug,不管有什么bug时都会自动打印图中下边红色框的信息,上下两个红框中的cookies为什么不一样?post的url只有一个且返回的都是200。网上找了很久也找不到答案,望指教,谢谢!

迷茫迷茫2740일 전900

모든 응답(1)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 10:27:00

    소스 코드를 읽고 문제를 단계별로 찾아낸 결과, 첫 번째 빨간색 상자 출력은 ClientResponse.cookies이고, 두 번째 빨간색 상자는 ClientResponse.__del__를 호출한 후 ClientResponse.__repr__의 출력입니다. 오류가 발생했을 때 >. ClientResponse.headers에서
    cookies를 추출하였고, 사용한 메소드는 headers이다. 최종적으로 http.cookies.SimpleCookie.loadBaseCookie 메소드는 정규식 매칭을 사용할 때 문제가 있는 것으로 확인되었다. 정규식은 다음과 같습니다. __parse_string 으아악

    과 일치하면 처음 얻은 expires=Saturday, 06-Mar-2027 02:32:46 GMT;key이고, expiresval이고, 두 번째 얻은 Saturday, key입니다. 🎜>는 함수에서 06-Mar-2027입니다. val을 올바르게 해석할 수 없기 때문에 Nonereturn의 쿠키 정보가 다릅니다. expires

    회신하다
    0
  • 취소회신하다