1

我使用 cookie 导出插件从 firefox 导出了一个 cookies.txt 文件。我试图将 cookie 文件与 python 请求一起使用,但得到了这个......

ValueError:无效的标头值

我的代码:

import requests
cj = cookielib.MozillaCookieJar()
cj.load('cookies.txt', ignore_discard=True)
r = requests.get('blah.com', cookies=cj)

我能做些什么?

4

1 回答 1

3

Python 2.7 版本:

import os
import cookielib
import requests
cj = cookielib.MozillaCookieJar()
cookiepath = os.getcwd()
cj.load(os.path.join(cookiepath, 'cookies.txt'))
r = requests.get('https://stackoverflow.com', cookies=cj)

Python 3.6 版本(已测试):

import os
import http.cookiejar
import requests
cj = http.cookiejar.MozillaCookieJar()
cookiepath = os.getcwd()
cj.load(os.path.join(cookiepath, 'cookies.txt'))
r = requests.get('https://stackoverflow.com', cookies=cj)
print(r.cookies)  #<RequestsCookieJar[Cookie(version=0, name='prov', value='619.....1a9f2f'....rfc2109=False)]>
print(r.headers) #{'Content-Type': 'text/html; charset=utf-8', 'Content-Encoding': 'gzip', 'X-Frame-Options': 'SAMEORIGIN'...}

“cookies.txt”必须是 Netscape 格式的 cookie 文件。有Firefox 插件可用于以这种格式导出 cookie。此外,请确保该文件位于当前工作目录路径中,以使上述代码能够正常工作。

于 2018-03-14T19:08:17.747 回答