2016-05-27 3 views
0

Я следую учебник и написание кода для хранения и извлечения печенья с использованием РассолPython: ошибка EOF в pickle.load

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 

Пожалуйста совет, что происходит не так.

ответ

0

От взглядов этого файла cookie_store.dat в настоящее время пуст, потому что вы пытаетесь загрузить до сохранения куки на следующих линиях:

r = requests.post(url, data, cookies=load_cookies('cookie_store.dat')) 
save_cookies(r.cookies, 'cookie_store.dat') 
Смежные вопросы