按名称从cookie Jar获取cookie



我知道我可以迭代cookiejar中的cookie,这将允许我找到具有特定名称的cookie-但cookiejar对象本身有任何方法可以调用以按名称获取特定cookie吗?

它只是省去了我编写一个已经存在的辅助方法的麻烦。

是的,__iter__方法将遍历CookieJar中的每个cookie。

for cookie in cj:
   print cookie.name, cookie.value, cookie.domain #etc etc

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

尽管__iter__方法将很容易返回cookie对象的列表,例如list(cj),但CookieJar的内部结构并不是一个简单的列表。这里有关于CookieJar类的内部信息。

您还可以使用dict_from_cookiejar,它从cookiejar返回一个键/值字典。类似于:

my_cookies = requests.utils.dict_from_cookiejar(s.cookies)

然后通过密钥访问您的cookie值。

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

cookielib.CookieJar?

您可以将jar转换为列表并进行处理,例如{i.name: i for i in list(j)}

顺便说一句,j.cokies实际上已经是一个dict dict了,尽管还没有完全索引。

cookie jar文件?

我以为那是纯文本文件。。。

最新更新