通过名称从 CookieJar 获取 cookie
我知道我可以遍历 cookiejar 中的 cookie,这将允许我找到具有特定名称的 cookie - 但是 CookieJar 对象本身是否有任何我可以调用的方法来按名称获取某个 cookie?
它只是让我不必编写一个已经存在的辅助方法。
I know that I can iterate through the cookies in a cookiejar, and this would allow me to find a cookie with a particular name - but does the CookieJar object itself have any methods I can call to get a certain cookie by name?
It just saves me having to write a helper method that already exists.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,
__iter__
方法将遍历CookieJar
中的每个 cookie。cookie 不仅仅是名称和值对。在其长长的属性列表 (17) 中,有
domain
和path
。例如,.ibm.com
的域值适用于网站mail.ibm.com
。域值ibm.com
和路径值/abc
不适用于网页ibm.com/index.htm
。因此,仅提供名称不足以在 CookieJar 中找到适用 cookie 的值。虽然
__iter__
方法可以轻松返回cookie
对象列表,例如list(cj)
,但是CookieJar
的内部结构code> 不是一个简单的列表。有关CookieJar
类的内部结构位于此处 。Yes, the
__iter__
method will go through each cookie inCookieJar
.A cookie is not just a name and value pair. In its long list (17) of properties, there is
domain
andpath
. A domain value of.ibm.com
would be applicable to the websitemail.ibm.com
for example. A domain value ofibm.com
and path value of/abc
would not apply to the web pageibm.com/index.htm
. So by supplying the name alone is insufficient to find the value of an applicable cookie inCookieJar
.Though the
__iter__
method will return a list ofcookie
objects easily, examplelist(cj)
, the internal structure ofCookieJar
is not a simple list. Internals about theCookieJar
class is here.您还可以使用 dict_from_cookiejar,它返回一个键/值来自 CookieJar 的字典。类似于:
然后通过密钥访问您的 cookie 值。
You can also use dict_from_cookiejar, which returns a key/value dictionary from a CookieJar. Something like:
and then access your cookie value by key.
这是未记录的内部结构,但您可以像这样直接访问 cookie:
cookiejar._cookies[domain][path][name]
It's undocumented internals, but you can access cookies directly like this:
cookiejar._cookies[domain][path][name]
cookielib.CookieJar?
您可以将 jar 转换为列表并进行处理,例如
{i.name: i for i in list(j)}
顺便说一句,j._cookies 实际上已经是一个 dict-dict 了,尽管不完全是简单索引。
cookie jar 文件?
我以为那些是纯文本文件......
cookielib.CookieJar?
you can convert jar to a list and process that, e.g.
{i.name: i for i in list(j)}
and btw, j._cookies is actually a dict-dict already, though not completely trivially indexed.
cookie jar file?
I thought those were plain text files...