【问题标题】:Why merging requests.cookies.RequestsCookieJar() objects doesn't work at all?为什么合并 requests.cookies.RequestsCookieJar() 对象根本不起作用?
【发布时间】:2018-02-19 23:45:42
【问题描述】:

我有这个字典:

cloudflare_cookies = {'__cfduid': 'd46ed690cd9088175f95adcbc6775ee351519082779', 'cf_clearance': '6f72b46f12e0f5491e84abc94772c48149b768ef-1519082786-86400'}

然后,我想从该 dict 变量中的两个 cookie 创建一个 requests.cookies.RequestsCookieJar() 对象,例如:

    cookie1 = {
                  name: '__cfduid'
                  value: 'd46ed690cd9088175f95adcbc6775ee351519082779'
               }

    cookie2 = {
                  name: 'cf_clearance'
                  value: '6f72b46f12e0f5491e84abc94772c48149b768ef-1519082786-86400'
              }

   cookie_final = cookie1 + cookie2

我的代码如下:

    cookie1 = requests.cookies.RequestsCookieJar()
    cookie2 = requests.cookies.RequestsCookieJar()
    cookie1.set("name", "__cfduid")
    cookie1.set("value", cloudflare_cookies['__cfduid'])
    cookie2.set("name", "cf_clearance")
    cookie2.set("value", cloudflare_cookies['cf_clearance'])
    cookie_final = requests.cookies.merge_cookies(cookie1,cookie2)
    print (cloudflare_cookies)
    print (cookie_final)

但我得到的是:

{'__cfduid': 'd46ed690cd9088175f95adcbc6775ee351519082779', 'cf_clearance': '6f72b46f12e0f5491e84abc94772c48149b768ef-1519082786-86400'}
<RequestsCookieJar[<Cookie name=cf_clearance for />, <Cookie value=6f72b46f12e0f5491e84abc94772c48149b768ef-1519082786-86400 for />]>

只有 cookie2 在最后的 cookie_final 中。 我已经尝试过 cookie1.update(cookie2) 并且再次,cookie2 最终取代了 cookie1。

可能出了什么问题???

【问题讨论】:

标签: python python-3.x cookies python-requests


【解决方案1】:

这段代码:

import requests

cloudflare_cookies = {'__cfduid': 'd46ed690cd9088175f95adcbc6775ee351519082779', 'cf_clearance': '6f72b46f12e0f5491e84abc94772c48149b768ef-1519082786-86400'}

cookie_final = requests.cookies.merge_cookies(requests.cookies.RequestsCookieJar(), cloudflare_cookies)

print(cookie_final)

随心所欲,cookies.merge_cookies 可以将 cookiejar 与 dict 合并

【讨论】:

  • 非常感谢我的朋友!
  • 如果回答了您的问题,请接受我的问题。
  • 当然,抱歉我忘了
猜你喜欢
  • 2011-05-10
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 2016-03-17
  • 2011-02-26
相关资源
最近更新 更多