通过名称从CookieJar获取cookie

Mat*_*att 18 python cookies cookielib cookiejar

我知道我可以在cookiejar中遍历cookie,这样我就可以找到一个具有特定名称的cookie - 但是CookieJar对象本身是否有任何我可以通过名称获取某个cookie的方法?

它只是让我不得不编写一个已经存在的辅助方法.

Old*_*zer 24

是的,该__iter__方法将遍历每个cookie CookieJar.

for cookie in cj:
   print cookie.name, cookie.value, cookie.domain #etc etc
Run Code Online (Sandbox Code Playgroud)

Cookie不仅仅是名称和值对.在其长列表(17)的属性,有domainpath.例如,域值.ibm.com将适用于网站mail.ibm.com.域值ibm.com和路径值/abc不适用于网页ibm.com/index.htm.因此,单独提供名称不足以找到适用的cookie的值CookieJar.

虽然该__iter__方法将cookie容易返回一个对象列表,例如list(cj),内部结构CookieJar不是一个简单的列表.关于CookieJar班级的内部人员在这里.


cod*_*oda 11

您还可以使用dict_from_cookiejar,它从CookieJar返回键/值字典.就像是:

my_cookies = requests.utils.dict_from_cookiejar(s.cookies)
Run Code Online (Sandbox Code Playgroud)

然后按键访问您的cookie值.


Dav*_*ess 5

它没有内部记录,但是您可以像这样直接访问cookie: cookiejar._cookies[domain][path][name]