以下是获取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。网上找了很久也找不到答案,望指教,谢谢!
Selepas membaca kod sumber dan mencari masalah langkah demi langkah, masalah ditemui Output kotak merah pertama ialah
Apabila dipadankan denganClientResponse.cookies
, dan kotak merah kedua ialah output dalamClientResponse.__del__
selepas beberapa panggilan masukClientResponse.__repr__
. apabila ralat berlaku.ClientResponse.headers
dandiekstrak daripada
cookies
, dan kaedah yang digunakan ialahheaders
Akhirnya, didapati kaedahhttp.cookies.SimpleCookie.load
dalamBaseCookie
mempunyai masalah apabila menggunakan padanan ungkapan biasa. Ungkapan biasa adalah seperti berikut:__parse_string
,
expires=Saturday, 06-Mar-2027 02:32:46 GMT;
yang diperoleh buat kali pertama ialahkey
, danexpires
ialahval
Saturday,
yang diperoleh untuk kali kedua ialahkey
, dan06-Mar-2027
ialahval
adalahNone
dalam fungsi Keranareturn
tidak boleh ditafsirkan dengan betul, maklumat kukiexpires
dancookies
adalah berbeza.headers