2013-03-02 66 views
2

我有一個CookieJar實例,我想從它的內容合式Cookie: HTTP標頭。如何從cookiejar形成Cookie標頭?

我看了一下Python模塊的源代碼,但它相當於〜3/4的功能和20 SLOC,我正在尋找一個更好的解決方案。

注意:我真的想要這個標頭,而不是用這個cookie發出urllib請求,我知道HTTPCookieProcessor,但它不符合我的需要(請參閱上文)。

編輯:如果我能夠獲得單個Cookie(不同的東西,不同的模塊)對象與cookiejar的內容,那麼它就像.output(header="Cookie:")一樣簡單。但是,

cookielib和Cookie模塊不相互依賴。

+0

你正在尋找一個更優雅解決方案比在Python源代碼中實現嗎?那麼......確保在完成後發出pull請求;-) – Kos 2013-03-02 10:57:08

+0

嘿嘿;)他們直接集成到一個'Request'對象並檢查域等。我只需要所有的頭部餅乾作爲一個字符串。 – FiloSottile 2013-03-02 11:01:46

回答

0

由於Python使用duck typing,您可以將自己的對象傳遞給add_cookie_header;在documentation甚至列出你需要實現(get_full_urlget_host等)的方法,雖然它可能只是簡單的創建一個臨時urllib.request.Request對象,然後取從它的餅乾,做你想做的事情是什麼。

(當然,你調用內部像_cookie_attrs方法,但我想你知道爲什麼這是一個壞主意—它的脆性依賴於實現細節這樣的。)