2014-10-09 82 views
0

我在玩requests.session(),但我遇到了一些問題。我知道Session應該爲我處理cookie,但是我發現在某些情況下,它並不保存瀏覽器的某個cookie。我想知道如果手動添加或修改Cookie以匹配我的瀏覽器,但不確定如何操作,會發生什麼情況。添加cookie到cookiejar

<<class 'requests.cookies.RequestsCookieJar'>[<Cookie bcookie="v=COOKIE" for .domain.com/>.... 

我想我需要將Cookie傳送到字符串/詞典/解碼,添加修改該Cookie,然後重新編碼呢?

回答

0

session.cookies對象爲您提供了映射接口;添加餅乾,只需設置一個值的cookie名稱:

session.cookies['cookie_name'] = 'cookie_value' 

,並把它留給requests

在另一個方向上,使用session.cookies['cookie_name']給你只是該cookie的值,而不需要您瞭解如何Python的CookieJar對象的作品,並跟蹤所有其他每個cookie的元數據(如主機姓名和到期信息)。

+0

謝謝,試一試 – 2014-10-09 15:13:48

+0

我注意到我的網絡瀏覽器比通過請求來創建更多的cookie。當我通過ptyhon嘗試時,出現錯誤/重定向頁面。缺少的cookie可能是爲什麼? – 2014-10-09 15:51:39

+0

@MorganAllen:在使用'requests'時,你的請求失敗的原因可能有很多**。服務器是一個黑匣子,它如何響應不同的請求只能通過反覆試驗來確定。使用您的瀏覽器開發工具來查看究竟發送了哪些標頭和POST數據,並試用一些這些標頭。 User-Agent和Referer頭是服務器響應的兩個常用頭。 – 2014-10-09 15:55:42