2012-07-01 3 views
0

У меня есть два методаКак получить файлы cookie, сохраненные в файле, с помощью python?

def save_cookie(): 
     cookie = cookielib.MozillaCookieJar('cookie.txt') 
     opener = urllib2.build_opener(HTTPCookieProcessor(cookie)) 
     req = urllib2.Request(url=targeturl,headers=targetheaders) 
     opener.open(req) 
     cookie.save(ignore_discard=True,ignore_expires=True) 

    def get_cookie(): 
     cookie = cookielib.MozillaCookieJar() 
     print cookie.load(filename='cookie.txt').name 

первый метод экономии куки в файле с ответом. Я хочу использовать второй метод, чтобы получить печенье из файла, но типа cookie.load (имя файла = «cookie.txt») не Никто так ...

ответ

0

После вызова cookie.load() итерация в cookie объекте, чтобы получить каждое печенье в своей очереди:

for acookie in cookie: 
    print acookie.name, acookie.value 

ответа на комментарий # 1:

типа печенья является не так печатает nothing.It кажется например, файл не был загружен.

cookie.load() не возвращает никакой ценности. Он либо преуспевает, либо генерирует исключение. Таким образом, вы не можете использовать его так, как исходная программа пытается использовать его, как это:

print cookie.load(filename='cookie.txt').name 

Изменение, что линия на это:

cookie.load(filename='cookie.txt') 

, а затем сделать:

for acookie in cookie: 
     print acookie 

Если в этом файле пока нет куки-файлов, ознакомьтесь с содержанием файла cookie.txt. Если в нем нет данных cookie, проблема заключается в той части программы, которая пытается собрать файлы cookie, а не в той части, которая пытается их показать. (Уверен, что ответ из этого URL содержит куки Вы?)

Если cookie.txt файл действительно содержит печенье, пожалуйста, обновите ваш вопрос, чтобы показать содержимое этого файла и последнюю версию исходного кода для вашего get_cookie() функции.

+0

типа печенья не является None, так что печатает nothing.It кажется, что! файл не был загружен. – std

0

печати cookie.load (имя файла = 'cookie.txt')

значение функции - нагрузки() нет. Я думаю, что вы должны сделать следующее:

cookie.load («cookie.txt»)

печати cookie.name

Смежные вопросы