通过名称从 CookieJar 获取 cookie

发布于 2024-12-16 19:36:14 字数 136 浏览 1 评论 0原文

我知道我可以遍历 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月朦胧 2024-12-23 19:36:14

是的,__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 的内部结构code> 不是一个简单的列表。有关 CookieJar 类的内部结构位于此处

Yes, the __iter__ method will go through each cookie in CookieJar.

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

A cookie is not just a name and value pair. In its long list (17) of properties, there is domain and path. A domain value of .ibm.com would be applicable to the website mail.ibm.com for example. A domain value of ibm.com and path value of /abc would not apply to the web page ibm.com/index.htm. So by supplying the name alone is insufficient to find the value of an applicable cookie in CookieJar.

Though the __iter__ method will return a list of cookie objects easily, example list(cj), the internal structure of CookieJar is not a simple list. Internals about the CookieJar class is here.

柏拉图鍀咏恒 2024-12-23 19:36:14

您还可以使用 dict_from_cookiejar,它返回一个键/值来自 CookieJar 的字典。类似于:

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

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

You can also use dict_from_cookiejar, which returns a key/value dictionary from a CookieJar. Something like:

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

and then access your cookie value by key.

雪落纷纷 2024-12-23 19:36:14

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

It's undocumented internals, but you can access cookies directly like this: cookiejar._cookies[domain][path][name]

執念 2024-12-23 19:36:14

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...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文