如何在python请求中获取cookie信息?

Rod*_*aki 3 python cookies python-requests

我正在尝试编写一个小脚本,以便查看与我的网站设置的cookie相关的信息.

我想知道它是否有设置securehttpOnly标志.但到目前为止,我无法做到这一点,我只想出了如何获取cookie名称和值.这是我目前的代码:

r = requests.post('url', data=data, headers=headers)

for (name, cookie) in r.cookies.items():
    print name, cookie
Run Code Online (Sandbox Code Playgroud)

到目前为止,这工作正常,但我想获得 cookie 相关的信息,而不是价值本身.Cookie元数据,如果你愿意的话.

我怎样才能做到这一点?

HEA*_*0NE 7

您可以单独从每个cookie中提取信息:

import requests

r = requests.post('http://www.about.com')

for cookie in r.cookies:
    print(cookie.__dict__)
    print(cookie.secure)
Run Code Online (Sandbox Code Playgroud)

这是因为r.cookies它的实例RequestsCookieJar扩展自CookieJar(Python 2:cookielib.CookieJar,Python 3 :) http.cookiejar.CookieJar.A CookieJarCookie对象.

参考文献:

更新: 我还没有找到httponlyCookie对象中检索值的方法.在Python 3中,您可以Mosel通过字典定义对象,它认为httponly是cookie的标准属性(https://docs.python.org/3/library/http.cookies.html),但我无法' httponly在定义规范RFC2109(https://www.ietf.org/rfc/rfc2109.txt)中找到任何引用.

也就是说,如果httponly实际上是非标准属性,那么您可以使用以下内容来检查cookie是否包含它: cookie.has_nonstandard_attr('httponly')

  • 好啊:)但我看到它对`httpOnly`不起作用.至少不是2.7.有没有办法达到那个? (2认同)