Python: pickle.load 中的 EOF 错误
Python: EOF error in pickle.load
我正在学习教程并编写代码以使用 pickle 存储和检索 cookie
import requests
import pickle
def save_cookies(cookies, filename):
with open(filename, 'wb') as f:
pickle.dump(cookies, f)
def load_cookies(filename):
with open(filename, 'rb') as f:
return pickle.load(f)
url = 'http://xxxxxxxxxxxxxx/here'
data = {'value': 50, 'username': 'shreyUsr', 'password': 'pass'}
r = requests.post(url, data, cookies=load_cookies('cookie_store.dat'))
save_cookies(r.cookies, 'cookie_store.dat')
print("CLIENT SIDE: Status Code is " + str(r.status_code) + "Reason is " + str(r.reason) )
print("SERVER SIDE: Response is " + str(r.text))
运行 代码给出以下错误:
File "./cookieComm.py", line 15, in <module>
r = requests.post(url, data, cookies=load_cookies('cookie_store.dat'))
File "./cookieComm.py", line 10, in load_cookies
return pickle.load(f)
File "/usr/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 880, in load_eof
raise EOFError
EOFError
请指教哪里出了问题。
从外观上看,您的 cookie_store.dat
文件当前是空的,因为您正尝试在保存 cookie 之前加载以下行:
r = requests.post(url, data, cookies=load_cookies('cookie_store.dat'))
save_cookies(r.cookies, 'cookie_store.dat')
我正在学习教程并编写代码以使用 pickle 存储和检索 cookie
import requests
import pickle
def save_cookies(cookies, filename):
with open(filename, 'wb') as f:
pickle.dump(cookies, f)
def load_cookies(filename):
with open(filename, 'rb') as f:
return pickle.load(f)
url = 'http://xxxxxxxxxxxxxx/here'
data = {'value': 50, 'username': 'shreyUsr', 'password': 'pass'}
r = requests.post(url, data, cookies=load_cookies('cookie_store.dat'))
save_cookies(r.cookies, 'cookie_store.dat')
print("CLIENT SIDE: Status Code is " + str(r.status_code) + "Reason is " + str(r.reason) )
print("SERVER SIDE: Response is " + str(r.text))
运行 代码给出以下错误:
File "./cookieComm.py", line 15, in <module>
r = requests.post(url, data, cookies=load_cookies('cookie_store.dat'))
File "./cookieComm.py", line 10, in load_cookies
return pickle.load(f)
File "/usr/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 880, in load_eof
raise EOFError
EOFError
请指教哪里出了问题。
从外观上看,您的 cookie_store.dat
文件当前是空的,因为您正尝试在保存 cookie 之前加载以下行:
r = requests.post(url, data, cookies=load_cookies('cookie_store.dat'))
save_cookies(r.cookies, 'cookie_store.dat')