如何从cookiejar形成Cookie标头?

时间:2013-03-02 10:54:46

标签: python

我有一个CookieJar实例,我希望从其内容中获得格式正确的Cookie: HTTP标头。

我查看了Python模块的源代码,但它相当于~3 / 4函数和20个sloc,我正在寻找更优雅的解决方案。

注意:我真的想要标题,而不是使用该Cookie发出urllib请求,而且我知道HTTPCookieProcessor但它不符合我的需求(见上文)。

编辑:如果我能够使用cookiejar的内容获得单个Cookie(不同的,不同的模块)对象,那么它就像.output(header="Cookie:")一样简单。然而,

  

cookielib和Cookie模块彼此不依赖。

1 个答案:

答案 0 :(得分:0)

由于Python使用duck typing,您可以将自己的对象传递给add_cookie_header; documentation甚至列出了您需要实现的方法(get_full_urlget_host等),尽管创建临时urllib.request.Request对象然后获取它可能更简单来自它的cookie并用它做你想做的事。

(当然,你可以调用像_cookie_attrs这样的内部方法,但我想你知道为什么这是一个坏主意 - 依赖于这样的实现细节是很脆弱的。)