以下是获取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。网上找了很久也找不到答案,望指教,谢谢!
소스 코드를 읽고 문제를 단계별로 찾아낸 결과, 첫 번째 빨간색 상자 출력은
이ClientResponse.cookies
이고, 두 번째 빨간색 상자는ClientResponse.__del__
를 호출한 후ClientResponse.__repr__
의 출력입니다. 오류가 발생했을 때 >.ClientResponse.headers
에서과
cookies
를 추출하였고, 사용한 메소드는headers
이다. 최종적으로http.cookies.SimpleCookie.load
의BaseCookie
메소드는 정규식 매칭을 사용할 때 문제가 있는 것으로 확인되었다. 정규식은 다음과 같습니다.__parse_string
으아악과 일치하면 처음 얻은
expires=Saturday, 06-Mar-2027 02:32:46 GMT;
은key
이고,expires
은val
이고, 두 번째 얻은Saturday,
은key
입니다. 🎜>는 함수에서06-Mar-2027
입니다.val
을 올바르게 해석할 수 없기 때문에None
과return
의 쿠키 정보가 다릅니다.expires