我知道我可以遍历cookiejar中的cookie,这将允许我找到具有特定名称的cookie -但是CookieJar对象本身是否有任何方法可以调用,以按名称获取某个cookie?
它使我不必编写已经存在的helper方法。
发布于 2014-12-17 18:52:41
是的,__iter__方法将遍历CookieJar中的每个cookie。
for cookie in cj:
print cookie.name, cookie.value, cookie.domain #etc etccookie不仅仅是名称和值对。在它的长长的属性列表(17)中,有domain和path。例如,.ibm.com域值将适用于网站mail.ibm.com。ibm.com的域值和/abc的路径值将不会应用于网页ibm.com/index.htm。因此,仅提供名称不足以在CookieJar中找到适用的cookie的值。
尽管__iter__方法可以很容易地返回cookie对象的列表,例如list(cj),但CookieJar的内部结构不是一个简单的列表。关于CookieJar类的内部结构是here。
发布于 2015-06-03 21:46:04
您还可以使用dict_from_cookiejar,它从CookieJar返回键/值字典。类似于:
my_cookies = requests.utils.dict_from_cookiejar(s.cookies)然后按键访问您的cookie值。
发布于 2016-04-03 23:03:44
它是没有文档记录的内部结构,但您可以像这样直接访问cookie:cookiejar._cookies[domain][path][name]
https://stackoverflow.com/questions/8175928
复制相似问题