我使用 cookie 导出插件从 Firefox 导出了 cookies.txt 文件。我尝试将 cookie 文件与 python 请求一起使用,但得到这个...
ValueError: Invalid header value
我的代码:
import requests
cj = cookielib.MozillaCookieJar()
cj.load('cookies.txt', ignore_discard=True)
r = requests.get('blah.com', cookies=cj)
我能做什么?
最佳答案
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 格式的 cookies 文件。有Firefox add-ons可以此格式导出 cookie。另外,请确保该文件位于当前工作目录路径中,以便上述代码能够正常工作。
关于Python 请求无效 header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283825/