2016-11-19 1 views
2

私はPythonを学び、Requests Libを使用しています。 CookieJarを使用してCookieを保存したいのですが、既存のCookieJarに応答のCookieを追加する方法がわかりません:Python3、Requests:CookieJarsをマージする方法

CookieJar.extract_cookiesにはリクエストオブジェクトが必要です。要求のをCookieJarがあるよう

File "[...]\Python35-32\lib\site-packages\requests\utils.py", line 336, in add_dict_to_cookiejar 
    return cookiejar_from_dict(cookie_dict, cj) 
    File "[...]\Python35-32\lib\site-packages\requests\cookies.py", line 515, in cookiejar_from_dict 
    names_from_jar = [cookie.name for cookie in cookiejar] 
    File "[...]\Python35-32\lib\site-packages\requests\cookies.py", line 515, in <listcomp> 
    names_from_jar = [cookie.name for cookie in cookiejar] 
AttributeError: 'str' object has no attribute 'name' 

:私は

は、だから私は3行目は失敗

cj= http.cookiejar.CookieJar() 
tmp= requests.utils.dict_from_cookiejar(resp.cookies) 
requests.utils.add_dict_to_cookiejar(cj, tmp) 

を試してみました...いない要求に、をCookieJarにクッキーを追加します辞書だけでなく、私は最終的に.....

同じエラーで失敗 requests.utils.add_dict_to_cookiejar(CJ、resp.cookies)

を試してみました

何が間違っているのですか?

答えて

1

# Create cookie one 
one = requests.cookies.RequestsCookieJar() 

# Create cookie two 
two = requests.cookies.RequestsCookieJar() 

# set some cookie value 
one.set("one_key", "one_value") 
two.set("two_key", "two_value") 

print(one) 
<RequestsCookieJar[<Cookie one_key=one_value for />]> 

print(two) 
<RequestsCookieJar[<Cookie two_key=two_value for />]> 

# Now merge  
one.update(two) 
<RequestsCookieJar[<Cookie one_key=one_value for />, <Cookie two_key=two_value for />]> 
この方法を試してみてください
関連する問題